From 41be53b107c3e0d0a3d0edaa9cac627083a32be8 Mon Sep 17 00:00:00 2001 From: Rodrigo Kumpera Date: Tue, 12 Sep 2017 10:39:38 -0700 Subject: [PATCH] [verifier] Add test for structs. --- mono/tests/verifier/valid_ref_return.cs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/mono/tests/verifier/valid_ref_return.cs b/mono/tests/verifier/valid_ref_return.cs index 6350f1ec251..85e1f5486e5 100644 --- a/mono/tests/verifier/valid_ref_return.cs +++ b/mono/tests/verifier/valid_ref_return.cs @@ -1,5 +1,10 @@ using System; +struct Point { + public int x; + public int y; +} + class Foo { static int X = 10; static int[] Arr = new int[1]; @@ -52,4 +57,21 @@ class Foo { ref int ReturnFunc () { return ref ReturnStatic (); } + + Point mp; + + ref int Pick (bool b, ref Point p) { + if (b) + return ref p.x; + else + return ref p.y; + } + + void F (bool b) { + Point lp = new Point {x = 3, y = 3}; + ref int z = ref Pick (b, ref lp); + z = 4; + ref int z2 = ref Pick (b, ref mp); + z2 = 5; + } } -- 2.25.1