This change implements the following rule from section 6.2.3 (Explicit...
This change implements the following rule from section 6.2.3 (Explicit Nullable Conversions). In particular the following section. - If the nullable conversion is from S to T?, the conversion is evaluated as the underlying conversion from S to T followed by a wrapping from T to T? This rule is what is responsible for keeping expressions like the following an error: (int?)double.MaxValue The code generation changes in the Emit suites occurred because the compiler is retains the constants produced from the S -> T conversion (this mirrors the native compiler behavior). (changeset 1389914)
Showing
想要评论请 注册 或 登录