• J
    Address verification issue in 30747 · af7c8c91
    Jared Parsons 提交于
    The `MissingTypeKindBasisTypes` test is copied from `UseSiteErrorTests`
    and given verification succeeds there it's reasonable to expect that it
    would succeed here. However there are a few factors here that aren't
    obvious at a glance.
    
    The first is that not all of the compilations in `UseSiteErrorTests` are
    verifable. The `compilation1` is not verifiable in either suite, it's
    hard to miss because it's not tested. The reason why is that the corlib
    reference name is mincorlib, not mscorlib. PEVerify is hard coded to
    think the name of corlib will always be mscorlib. Hence any attempt to
    verify against a different name corlib will always fail.
    
    Well ... almost always. It fails only when it's used in the IL. For
    `compilation2` there is no direct reference to corlib, hence mincorlib
    doesn't appear in the IL and it passes verification. With NRT though we
    silently emit an attribute in the binary for nullable tracking and this
    does reference corlib (the attribute derives from `System.Attribute`)
    and hence verification fails.
    
    Adjusted the suite to make this expected.
    
    closes #30747
    af7c8c91
NullableReferenceTypesTests.cs 2.8 MB
The source could not be displayed because it is larger than 1.0 MB. You can load it anywaydownload it instead.