提交 48e5e39d 编写于 作者: J Julien 提交者: GitHub

Add test for bug #12345 (#13936)

上级 581d30f8
......@@ -8810,5 +8810,48 @@ public static void Main ()
compilation.VerifyDiagnostics();
}
[Fact]
[WorkItem(12345, "https://github.com/dotnet/roslyn/issues/12345")]
public void Bug12345()
{
string source = @"
class EnumRepro
{
public static void Main()
{
EnumWrapper<FlagsEnum> wrappedEnum = FlagsEnum.Foo;
wrappedEnum |= FlagsEnum.Bar;
System.Console.Write(wrappedEnum.Enum);
}
}
public struct EnumWrapper<T>
where T : struct
{
public T? Enum { get; private set; }
public static implicit operator T? (EnumWrapper<T> safeEnum)
{
return safeEnum.Enum;
}
public static implicit operator EnumWrapper<T>(T source)
{
return new EnumWrapper<T> { Enum = source };
}
}
[System.Flags]
public enum FlagsEnum
{
None = 0,
Foo = 1,
Bar = 2,
}
";
var verifier = CompileAndVerify(source, expectedOutput: "Foo, Bar");
verifier.VerifyDiagnostics();
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册