[extension types] Implement 'precludes' rule to eliminate method/setter conflicts #53717
Labels
area-meta
Cross-cutting, high-level issues (for tracking many other implementation issues, ...).
feature-extension-types
Implementation of the extension type feature
implementation
Track the implementation of a specific feature (use on area-meta issue, not issues for each tool)
type-bug
Incorrect behavior (everything from a crash to more subtle misbehavior)
Edit Nov 24 2023: The language team accepted a proposal to introduce the notion of a declaration that 'precludes' another declaration or member signature, see dart-lang/language#3470.
As a consequence of that spec change, this issue will now have a new purpose: Implement the 'precludes' behavior. I added the 'implementation' label.
The error messages that gave rise to this issue will then not be emitted, because there is no conflict when one of the conflicting declarations has been 'precluded'.
Consider the following program:
The analyzer (DartPad, Dart SDK 3.2.0-140.0.dev) reports an error at the declaration of the method
m
(as it should, cf. [1] and [2]), but the error message is somewhat confusing. The CFE does not report any errors.Subtasks:
The text was updated successfully, but these errors were encountered: