diff options
Diffstat (limited to 'tests/src/JIT/jit64/valuetypes/nullable/box-unbox/null/box-unbox-null029.cs')
-rw-r--r-- | tests/src/JIT/jit64/valuetypes/nullable/box-unbox/null/box-unbox-null029.cs | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/src/JIT/jit64/valuetypes/nullable/box-unbox/null/box-unbox-null029.cs b/tests/src/JIT/jit64/valuetypes/nullable/box-unbox/null/box-unbox-null029.cs new file mode 100644 index 0000000000..dcea3c1e51 --- /dev/null +++ b/tests/src/JIT/jit64/valuetypes/nullable/box-unbox/null/box-unbox-null029.cs @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +// <Area> Nullable - Box-Unbox </Area> +// <Title> Nullable type with unbox box expr </Title> +// <Description> +// checking type of NotEmptyStructConstrainedGenA<int> using is operator +// </Description> +// <RelatedBugs> </RelatedBugs> +//<Expects Status=success></Expects> +// <Code> + + +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 ((NotEmptyStructConstrainedGenA<int>?)o) == null; + } + + private static int Main() + { + NotEmptyStructConstrainedGenA<int>? s = null; + + if (BoxUnboxToNQ(s) && BoxUnboxToQ(s) && BoxUnboxToNQGen(s) && BoxUnboxToQGen(s)) + return ExitCode.Passed; + else + return ExitCode.Failed; + } +} + + |