summaryrefslogtreecommitdiff
path: root/mcs/tests/gtest-lambda-25.cs
blob: 2636b4a8f28c344e305846d27a3d24db03239d11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;

namespace MonoBugs
{
	public struct Foo<T>
	{
		public T Item;
	}

	public static class Bar
	{
		public static void DoStuff<T> (T item, Action<T> fn)
		{
			throw new ApplicationException ("failed");
		}

		public static void DoStuff<T> (T? item, Action<T> fn)
			where T : struct
		{
			fn (item.Value);
		}
	}

	public static class Program
	{
		public static void Main ()
		{
			Foo<int>? value = new Foo<int> { Item = 3 };
			Bar.DoStuff (value, x => Console.WriteLine (x.Item));
		}
	}
}