| public class GenericsSmartCast<T>{ | |
| public GenericsSmartCast(GenericsSmartCast<T> other) {} | |
| public static Object foo() { return null; } | |
| public static void main(String[] args) { | |
| GenericsSmartCast<String> bar = new GenericsSmartCast<String>((GenericsSmartCast<String>) foo()); | |
| } | |
| } |