summaryrefslogtreecommitdiff
path: root/tests/src/JIT/jit64/valuetypes/nullable/box-unbox/null/box-unbox-null029.cs
diff options
context:
space:
mode:
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.cs50
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;
+ }
+}
+
+