1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
package am; trait One[M[_]] { val x : Int } trait Two[M[_,_]] { val x : Int } object Test { // Works. val x = new Two[Map] { val x = 5 } val o = new One[java.util.List] { val x = 1 } // Does not work val y = new Two[java.util.concurrent.ConcurrentHashMap] { val x = 3 } }