• P
    Bring simple name binding for method type parameters inline with Dev12 and the C# spec. · 489ca5f8
    pgavlin 提交于
    The compiler had two issues with simple name binding for method type parameters:
    - As described in the specification (and implemented in Dev12), a simple name that binds to a method type parameter does so before member lookup happens. This means that such a simple name always binds to that type parameter whether or not it is the primary expression of an invocation expression. Instead, Roslyn always used the member lookup rules when binding simple names to method type parameters.
    - As implemented in Dev12 (and somewhat fuzzily described in the specification), method type parameters are not in scope when binding simple names in a method signature rather than a method body (note that this restriction obviously does not apply when binding types or namespaces inside a method signature). Instead, Roslyn placed method type parameters in scope when binding simple names inside a method signature.
    
    This change brings Roslyn in line with Dev12 and the spec in both cases.
    ***NO_CI***
     (changeset 1382599)
    489ca5f8
BindingTests.cs 94.4 KB