diff options
Diffstat (limited to 'tests/src/JIT/jit64/valuetypes/nullable/box-unbox/null/box-unbox-null024.cs')
-rw-r--r-- | tests/src/JIT/jit64/valuetypes/nullable/box-unbox/null/box-unbox-null024.cs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/src/JIT/jit64/valuetypes/nullable/box-unbox/null/box-unbox-null024.cs b/tests/src/JIT/jit64/valuetypes/nullable/box-unbox/null/box-unbox-null024.cs new file mode 100644 index 0000000000..78a97365f1 --- /dev/null +++ b/tests/src/JIT/jit64/valuetypes/nullable/box-unbox/null/box-unbox-null024.cs @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + + +using System.Runtime.InteropServices; +using System; + +internal class NullableTest +{ + private static bool BoxUnboxToNQGen<T>(T o) + { + return ((object)o) == null; + } + + private static bool BoxUnboxToQGen<T>(T? o) where T : struct + { + return ((T?)o) == null; + } + + private static bool BoxUnboxToNQ(object o) + { + return o == null; + } + + private static bool BoxUnboxToQ(object o) + { + return ((NotEmptyStructA?)o) == null; + } + + private static int Main() + { + NotEmptyStructA? s = null; + + if (BoxUnboxToNQ(s) && BoxUnboxToQ(s) && BoxUnboxToNQGen(s) && BoxUnboxToQGen(s)) + return ExitCode.Passed; + else + return ExitCode.Failed; + } +} + + |