diff --git a/ICSharpCode.NRefactory.Tests/CSharp/Resolver/ExplicitConversionsTest.cs b/ICSharpCode.NRefactory.Tests/CSharp/Resolver/ExplicitConversionsTest.cs index c3c08a087c..51154344c4 100644 --- a/ICSharpCode.NRefactory.Tests/CSharp/Resolver/ExplicitConversionsTest.cs +++ b/ICSharpCode.NRefactory.Tests/CSharp/Resolver/ExplicitConversionsTest.cs @@ -703,6 +703,23 @@ class Test { Assert.IsTrue(rr.Conversion.IsLifted); } + [Test] + public void UserDefinedExplicitConversionFollowedByImplicitNullableConversion() { + string program = @"using System; +struct Convertible { + public static explicit operator Convertible(int i) {return new Convertible(); } +} +class Test { + public void M(int i) { + a = $(Convertible?)i$; + } +}"; + var rr = Resolve(program); + Assert.IsTrue(rr.Conversion.IsValid); + Assert.IsTrue(rr.Conversion.IsUserDefined); + Assert.IsFalse(rr.Conversion.IsLifted); + } + [Test, Ignore("Explicit conversions with nullables are currently broken")] public void UserDefinedExplicitConversion_ExplicitNullable_ThenUserDefined() { string program = @"using System;