-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
VM: New typedef doesn't support annotations on parameters #30732
Comments
That's an issue with the informal spec. It seems that annotations are meaningful and needed on a normal parameter type as well as a named parameter type? In any case, it would be a surprising exception if named parameters in these Function types support metadata, but other parameters don't. We've had the old style function typed parameter declaration for a long time with support for metadata ( I've created a CL adding this metadata support to the informal spec, to be discussed and possibly accepted by the language team. So getting it implemented in the tools is at least a couple of steps down the road. |
No worries, just wanted to double-check. Thanks! |
In #30732 the concern was raised that the new Function type syntax does not support metadata on parameter specifications (i.e., on normalParameterTypes and on namedParameterTypes). The implication of adding support for metadata in these locations is that `@required` can be used on function types, which is the motivation for submitting 30732. We have always had support on parameter declarations in function typed parameter declarations (`void foo(@A() int f(@A() String s))`), so in this sense there is no new semantics to worry about (Lasse: "it doesn't mean anything anyway!"). This CL modifies the generic-function-type-alias.md informal spec to include this kind of metadata support. Change-Id: I4520d330458242b31c991f62c03ca2f34f9c5e54 Reviewed-on: https://dart-review.googlesource.com/5762 Commit-Queue: Erik Ernst <[email protected]> Reviewed-by: Bob Nystrom <[email protected]> Reviewed-by: Lasse R.H. Nielsen <[email protected]>
In dart-lang/sdk#30732 the concern was raised that the new Function type syntax does not support metadata on parameter specifications (i.e., on normalParameterTypes and on namedParameterTypes). The implication of adding support for metadata in these locations is that `@required` can be used on function types, which is the motivation for submitting 30732. We have always had support on parameter declarations in function typed parameter declarations (`void foo(@A() int f(@A() String s))`), so in this sense there is no new semantics to worry about (Lasse: "it doesn't mean anything anyway!"). This CL modifies the generic-function-type-alias.md informal spec to include this kind of metadata support. Change-Id: I4520d330458242b31c991f62c03ca2f34f9c5e54 Reviewed-on: https://dart-review.googlesource.com/5762 Commit-Queue: Erik Ernst <[email protected]> Reviewed-by: Bob Nystrom <[email protected]> Reviewed-by: Lasse R.H. Nielsen <[email protected]>
i.e. this is invalid, but it seems to work in other backends:
The text was updated successfully, but these errors were encountered: