/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
interface Test {
}
class Foo implements Test {
return "foo";
}
}
class Bar implements Test {
return "bar";
}
}
class Ideone {
static <T extends Test> void polymorph(T x) {
}
polymorph(new Foo());
polymorph(new Bar());
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbnRlcmZhY2UgVGVzdCB7CglTdHJpbmcgdGVzdCgpOwp9CgpjbGFzcyBGb28gaW1wbGVtZW50cyBUZXN0IHsKCXB1YmxpYyBTdHJpbmcgdGVzdCgpIHsKCQlyZXR1cm4gImZvbyI7Cgl9Cn0KCmNsYXNzIEJhciBpbXBsZW1lbnRzIFRlc3QgewoJcHVibGljIFN0cmluZyB0ZXN0KCkgewoJCXJldHVybiAiYmFyIjsKCX0KfQoKY2xhc3MgSWRlb25lIHsKCXN0YXRpYyA8VCBleHRlbmRzIFRlc3Q+IHZvaWQgcG9seW1vcnBoKFQgeCkgewoJCVN5c3RlbS5vdXQucHJpbnRsbih4LnRlc3QoKSk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbiB7CgkJcG9seW1vcnBoKG5ldyBGb28oKSk7CgkJcG9seW1vcnBoKG5ldyBCYXIoKSk7Cgl9Cn0=