public class Test<T>: Object {
	public T? inner { get; set; }
}

public void test_method (Test<Object> test) {
	test.inner = new Object ();
}

public int main () {
	var test = new Test<Test<Object>> ();
	test_method (test);
	if (test.inner != null && test.inner.inner == null) {
		print ("GOTCHA!");
	}
	return 0;
}
