-
Notifications
You must be signed in to change notification settings - Fork 205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should augmentations allow appending to the implements
clause for extension types?
#4136
Comments
with
clause for extension types?with
clause for extensions?
with
clause for extensions?with
clause for mixin types?
I assume this means There is no declaration that has both an The full grammars of the declarations are something like: extension type const Name<X1, X2>.id(RepType id) implements I1, I2 { ... }
extension Name<X1, X2> on T { ... }
mixin Name<X1, X2> on T1, T2 implements I1, I2 { ... }
abstract base class Name<X1, X2> extends T with T1, T2 implements I1, I2 {}
abstract base class Name<X1, X2> = T with T1, T2 implements I1, I2 {}
abstract base mixin class Name<X1, X2> implements I1, I2 {}
enum Name<X1, X2> with T1, T2 implements I1, I2 {} |
with
clause for mixin types?with
clause for extension types?
with
clause for extension types?implements
clause for extension types?
I just wrote it wrong, I meant the |
I think it should not be a problem to allow it. A longer |
Yeah, I think it is mostly a philosophical question. We choose to for instance not allow filling in the on clause for extensions, or the representation type clause for extension types. Just because it is pretty weird to omit those. But, we allow filling in implements on classes, so it seems a bit odd to not allow it on extension types. |
Right, but adding an (haha, same edit ;-) |
Yeah I am inclined to allow it 👍 |
Agree. I'd prefer that |
Ok, I will go ahead and add it into the builder APIs for macros (which is where I realized this omission). |
We do not allow altering the representation type, and require the clause for that to be present, but we don't mention the
implements
clause.cc @dart-lang/language-team
The text was updated successfully, but these errors were encountered: