import java.util.*;
import java.io.*;
public class TestDriver{
public static <T> void go(Set<T> a){}
public static void main(
String [] args){
TreeSet<? extends Serializable> t=new TreeSet<Mouse>();
go(t);
}
}
class Animal<T>{}
class Mouse extends Animal implements Serializable{}
What's the result?
A) Compiles
B) Compilation Failure
C) Exception at Run Time
Why is the answer A? go() only takes a Set<T> and nothing else!