Closed
Description
This issue is for tracking implementation of Super Mixins:
- Request issue: Mixins with super-calls. #6
- Feature issue: Mixin declaration allowing super-invocations. #7
- Feature specification:
https://github.com/dart-lang/language/blob/master/accepted/2.1/super-mixins/feature-specification.md - Implementation plan: https://github.com/dart-lang/language/blob/master/accepted/2.1/super-mixins/implementation-plan.md
TODO/Dependencies
- Discussion and feedback
- General discussion: Mixin declaration allowing super-invocations. #7
- Breaking change: Discussion of cost of super mixin breaking change #10
Implementation team sign off (this issue):
P0 Blockers
P1 Blockers
Non-Blockers
- Issue for CodeMirrorMisc syntax:
- github markdown
**Based on meta issue template
Metadata
Metadata
Assignees
Type
Projects
Relationships
Development
No branches or pull requests
Activity
leafpetersen commentedon Aug 14, 2018
I have added an initial cut on an implementation plan here. If you are an assignee of this bug, please review the implementation plan and the proposal itself (if needed), and provide any feedback and comments. If you see no technical issues with the proposal, and believe that the implementation plan is reasonable, please LGTM the plan here in the issue tracker.
@a-siva for VM
@kmillikin for CFE
@munificent for dartfmt
@jwren for grok, intellij
@jcollins-g for dartdoc
@bwilkerson for analyzer
@devoncarew for dartpad
@kwalrath for documentation
@vsmenon for DDC
@johnniwinther for dart2js
@Hixie for flutter migration
cc @JekCharlsonYu @dgrove @lrhn @rakudrama @sigmundch
leafpetersen commentedon Aug 14, 2018
cc @mit-mit @timsneath @kevmoo @sethladd @filiph
leafpetersen commentedon Aug 14, 2018
Hmm. I don't seem to be able to assign this issue to most of you, but if you're listed above, please take a look and sign off.
kevmoo commentedon Aug 15, 2018
I guess you could have made a "sign-off" PR and have us all approve.
LGTM
bwilkerson commentedon Aug 15, 2018
lgtm
Hixie commentedon Aug 15, 2018
I believe @yjbanov has volunteered to do the Flutter migration.
Hixie commentedon Aug 15, 2018
For Flutter our usual policy is to only allow one syntax at a time, and to require lints to force us onto the new syntax if we change the allowed syntax. I would feel more comfortable if Flutter was moved to the new syntax in phase 3 after the lint has been made available in phase 2. LGTM assuming that we do the migration on Flutter's side after we've got a lint to enforce it.
leafpetersen commentedon Aug 15, 2018
@Hixie I'm happy to handle the migration however works best for you. My worry was/is this: I can't give you a lint to change a definition of a super mixin to the new syntax, because I have no way of knowing what things are super mixins until they are used. So the lint will fire on uses, not definitions.
So I think it would be bad to land the analyzer hint that tells you are using an old style super mixin before we fix flutter. Otherwise users will see hints telling them to fix flutter... :)
But we should be able to land them (essentially) simultaneously: migrate flutter to the new syntax and roll in a new analyzer with the hint. Or maybe we can roll in the new analyzer, but initially only turn on the hint inside of flutter?
Does this seem reasonable?
Hixie commentedon Aug 15, 2018
What we normally do is implement the lint, roll that, then turn on the lint and fix the bugs it finds at the same time (in a separate later PR).
devoncarew commentedon Aug 15, 2018
Based on the above discussion, we should also call out above the necessary work in the linter.
29 remaining items
jcollins-g commentedon Sep 11, 2018
Implementation plan is reasonable for dartdoc. Typically with new language features dartdoc has to have some minor revisions (and new published versions of analyzer) to keep from crashing when encountering the new syntax. So there will be some distributed impact over the next few months.
mixin
syntax dart-lang/sdk#34642mit-mit commentedon Nov 2, 2018
@JekCharlsonYu what remains on this feature?