Open
Description
Consider the case when one part
is used by two owners
// multiple_owners_part.dart
part of multiple_owners_lib;
final definedInPart = "Lily was here";
// multiple_owners_owner_1.dart
library multiple_owners_lib;
part 'multiple_owners_part.dart';
var definedInPart = "";
main() {
}
// multiple_owners_owner_2.dart
library multiple_owners_lib;
part 'multiple_owners_part.dart';
main() {
print(definedInPart);
}
Now CFE report the following error for multiple_owners_owner_1.dart
$ out/ReleaseX64/dart tests/co19/src/Language/Libraries_and_Scripts/Parts/multiple_owners_owner_1.dart
tests/co19/src/Language/Libraries_and_Scripts/Parts/multiple_owners_part.dart:7:7: Error: 'definedInPart' is already declared in this scope.
final definedInPart = "Lily was here";
^^^^^^^^^^^^^
tests/co19/src/Language/Libraries_and_Scripts/Parts/multiple_owners_owner_1.dart:18:5: Context: Previous declaration of 'definedInPart'.
var definedInPart = "";
^^^^^^^^^^^^^
So, CFE reports that the error occurs in part
. But if we take a look at multiple_owners_part.dart
or at multiple_owners_owner_2.dart
we won't see anything wrong in part
itself or in another library that use it (multiple_owners_owner_2.dart
). So, may be it makes sense to report that error occurs in multiple_owners_owner_1.dart
, not in multiple_owners_part.dart
?