Skip to content

Commit d0d3ca2

Browse files
srawlinskallentu
andauthored
Remove "mixin" from some positions in the @reopen text. (#2965)
* Remove "mixin" from some positions in the @reopen text. Regarding reopened mixins and reopening mixins, I think @eernstg [worded it well](dart-archive/linter#4235 (comment)) > It is not possible to reopen a mixin or a mixin class: It has the modifier `base` or no modifier, and no subtype of a `base` declaration can exist without a modifier which is at least as strong as `base`. Based on this, I made these changes: * removed "or mixin" from the things which can be annotated with `@reopen` * removed "or mixin" from the things which can be extended or mixed in and be modified with `interface` or `final` * spread a sentence which has 7 "or"s in it 🤣 across two bullet points. * Update accepted/future-releases/class-modifiers/feature-specification.md Co-authored-by: Kallen Tu <[email protected]> * Update accepted/future-releases/class-modifiers/feature-specification.md Co-authored-by: Kallen Tu <[email protected]> * wrap --------- Co-authored-by: Kallen Tu <[email protected]>
1 parent 7100e64 commit d0d3ca2

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

accepted/future-releases/class-modifiers/feature-specification.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -901,12 +901,12 @@ Instead, it's a suggested part of the overall user experience of the feature.
901901

902902
A metadata annotation `@reopen` is added to package [meta][] and a lint
903903
"implicit_reopen" is added to the [linter][]. When the lint is enabled, a lint
904-
warning is reported if a class or mixin is not annotated `@reopen` and it:
904+
warning is reported if a class is not annotated `@reopen` and it:
905905

906-
* Extends or mixes in a class, mixin, or mixin class marked `interface` or
907-
`final` and is not itself marked `interface` or `final`,
908-
or extends or mixes in a `sealed` declaration which itself
909-
transitively extends or mixes in an `interface` or `final` declaration.
906+
* extends a class marked `interface` or `final`
907+
and is not itself marked `interface` or `final`, or
908+
* extends a `sealed` class which itself transitively extends a class marked
909+
`interface` or `final`.
910910

911911
[meta]: https://pub.dev/packages/meta
912912
[linter]: https://dart.dev/guides/language/analysis-options#enabling-linter-rules

0 commit comments

Comments
 (0)