
public class AmbiguousReferenceTest {

	public static void main(String[] args) {
		/*test((java.util.function.Supplier<?>) (() -> true));
		test(() -> true);*/
		System.out.println("success");
	}

	static void test(java.util.function.Supplier<?> obj) {
		// fine
	}

	// with this method the class compiles
	// static void test(java.lang.Number obj) {
	// throw new AssertionError("shouldn't be called");
	// }

	// with this method the class doesn't compile
	static <T extends java.lang.Number> void test(T obj) {
		throw new AssertionError("shouldn't be called");
	}
}
