summaryrefslogtreecommitdiff
path: root/mcs/errors/cs0457-3.cs
blob: 3a8175d49f706ed25f955394f819237cb3d3c680 (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
// CS0457: Ambiguous user defined operators `D.implicit operator A(D)' and `C.implicit operator B(C)' when converting from `D' to `B'
// Line: 30

class A
{
}

class B : A
{
}

class C
{
	public static implicit operator B (C s)
	{
		return new B ();
	}
}

class D : C
{
	public static implicit operator A (D s)
	{
		return new B ();
	}

	public static void Main ()
	{
		D d = new D ();
		B b2 = (B) d;
	}
}