I\'ve got troubles with cloning in Scala. Is this possible to clone an object of an arbitrary type T? Something like this:
import collection.immutable.Stack
obj
clone() is from java.lang.Object not from java.lang.Cloneable. Cloneable is just a tagging-interface.
What you are trying probably does not work because implementing Cloneable does not force the implementor to override the protected Object.clone() with a public one.
see http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#clone() and http://docs.oracle.com/javase/7/docs/api/java/lang/Cloneable.html
ln conclusion: No it is not possible to clone an object of an arbitrary type T1. You could however clone any object of type T2 where T2 is bound by a type with a public override of clone(). Your example fails because Object.clone() is protected, i.e. can only be called from within a subclass.