[netcore] Fix IsAssignableFrom (#15641)
commit972cd6536510d3174e057393b50998c610cb2473
authorEgor Bogatov <egorbo@gmail.com>
Thu, 11 Jul 2019 19:41:12 +0000 (11 22:41 +0300)
committerAlexander Köplinger <alex.koeplinger@outlook.com>
Thu, 11 Jul 2019 19:41:11 +0000 (11 21:41 +0200)
tree81d6ffd37f1792a93c422fcb5fd9bbc735c3ee0d
parent2f1b50bfbf9db129d844dad8e45ec248f0c877e4
[netcore] Fix IsAssignableFrom (#15641)

Mono used to return `true` for these three cases (see System.Reflection.Tests.TypeTests.IsAssignableFrom tests):
```csharp
using System.Reflection;
using Xunit;

namespace ConsoleApp
{
    public static class Program
    {
        static void Main(string[] args)
        {
            Assert.False(typeof(TI_Interface1[]).GetTypeInfo().IsAssignableFrom(
                         typeof(TI_StructWithInterface[]).GetTypeInfo()));

            Assert.False(typeof(int?[]).GetTypeInfo().IsAssignableFrom(
                         typeof(int[]).GetTypeInfo()));

            Assert.False(typeof(int[]).GetTypeInfo().IsAssignableFrom(
                         typeof(int?[]).GetTypeInfo()));

        }
    }

    public interface TI_Interface1 { }
    public struct TI_StructWithInterface : TI_Interface1 { }
}
```
Fixes https://github.com/mono/mono/issues/10848
Fixes https://github.com/mono/mono/issues/15080

Unrelated  System.Reflection.MetadataLoadContext.Tests tests that don't fail anymore:
Close https://github.com/mono/mono/issues/15351
Close https://github.com/mono/mono/issues/15348
Close https://github.com/mono/mono/issues/15347
Close https://github.com/mono/mono/issues/15346
Close https://github.com/mono/mono/issues/15345
Close https://github.com/mono/mono/issues/15343
Close https://github.com/mono/mono/issues/15342
Close https://github.com/mono/mono/issues/15341
Close https://github.com/mono/mono/issues/15338
Close https://github.com/mono/mono/issues/15337
Close https://github.com/mono/mono/issues/15336
mono/metadata/class.c
netcore/CoreFX.issues.rsp