summaryrefslogtreecommitdiff
path: root/mcs/tests/gtest-iter-15.cs
blob: 4955cee96ae27773c981227fe774826b067981d4 (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
33
34
35
36
37
38
using System;
using System.Collections.Generic;

internal class C<TFirst>
{
	internal struct VSlot<T>
	{
		public readonly T Value;

		public VSlot (T value)
		{
			Value = value;
		}
	}

	internal IEnumerable<V> GetEnumerable<V> (IEnumerable<VSlot<V>> input)
	{
		foreach (var v in input)
			yield return v.Value;
	}
}

class C
{
	public static int Main ()
	{
		var c = new C<long> ();
		string value = null;
		foreach (var v in c.GetEnumerable (new[] { new C<long>.VSlot<string> ("foo") })) {
			value = v;
		}

		if (value != "foo")
			return 1;

		return 0;
	}
}