void main () {
	var a = new Example ();
	a.test();
}

class Example:TestOfReturnType {
	public override Mismatch test () {
		var a = new Mismatch();
		return a;
	}
}
class Test {
}

class Mismatch {
}

class TestOfReturnType:TestParent {
	public override Test test () {
	return new Test ();
	}
}

class TestParent {
	public virtual Test test () {
	return new Test ();
	}
}
