The contextual keyword dynamic lacks contextual resolution rules, these need to be defined and added to the Standard.
Explanation
A token being a contextual keyword, means either:
- There is a particular context in the grammar where the token is always recognised as a keyword and other places where it is an identifier. An example is the
get contextual keyword for property accessors which may otherwise be freely used as an identifier. There are no resolution rules required for get, the meaning comes from its context.
- In some contexts a token may have a special meaning dependant upon the environment. An example is the
var contextual keyword which may be used in declaration statements, in patterns, etc. In such contexts if there is an accessible type named “var” in the environment the contextual meaning does not apply. The Standard contains resolution rules to determined whether the contextual meaning applies.
dynamic is an example of (2), e.g. it may be used as the name of a type (class, struct, enum, record) as well as a contextual keyword. The Standard is lacking resolution rules.
The contextual keyword
dynamiclacks contextual resolution rules, these need to be defined and added to the Standard.Explanation
A token being a contextual keyword, means either:
getcontextual keyword for property accessors which may otherwise be freely used as an identifier. There are no resolution rules required forget, the meaning comes from its context.varcontextual keyword which may be used in declaration statements, in patterns, etc. In such contexts if there is an accessible type named “var” in the environment the contextual meaning does not apply. The Standard contains resolution rules to determined whether the contextual meaning applies.dynamicis an example of (2), e.g. it may be used as the name of a type (class, struct, enum, record) as well as a contextual keyword. The Standard is lacking resolution rules.