diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Correctness/Conversions.cs b/ICSharpCode.Decompiler.Tests/TestCases/Correctness/Conversions.cs index 59e94ed4b..040010e8f 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Correctness/Conversions.cs +++ b/ICSharpCode.Decompiler.Tests/TestCases/Correctness/Conversions.cs @@ -112,7 +112,7 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Correctness Console.WriteLine(ReadZeroTerminatedString("Hello World!".Length)); C1.Test(); -#if ROSLYN2 && !NET40 +#if CS120 && !NET40 C3.Run(); #endif } @@ -204,7 +204,7 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Correctness } } -#if ROSLYN2 && !NET40 +#if CS120 && !NET40 class C3 { [InlineArray(4)] struct MyArray { private int elem; } diff --git a/ICSharpCode.Decompiler/CSharp/Resolver/CSharpConversions.cs b/ICSharpCode.Decompiler/CSharp/Resolver/CSharpConversions.cs index 6acbeaa49..bc857c9f1 100644 --- a/ICSharpCode.Decompiler/CSharp/Resolver/CSharpConversions.cs +++ b/ICSharpCode.Decompiler/CSharp/Resolver/CSharpConversions.cs @@ -779,7 +779,7 @@ namespace ICSharpCode.Decompiler.CSharp.Resolver { // C# 4.0 spec: ยง6.1.7 fromType = NullableType.GetUnderlyingType(fromType); - if (fromType.IsReferenceType == false && toType.IsReferenceType == true) + if (fromType.IsReferenceType == false && !fromType.IsByRefLike && toType.IsReferenceType == true) return IsSubtypeOf(fromType, toType, 0); else return false;