Scala, can't implement generic java method
===

I'd like to implement a java method that uses generics in scala. But I'm failing...

Java interface method:

    public <T extends Number> void setAttribute(Key<T> key, Number value);


Scala code that want to implement that method:

    def setAttribute[T <: Number](key: Key[T], value: Number) = {
      setAttributeLocal(key, value)  }

But this doesn't compile.

 - [error]  found   : mypackage.Key[T]
 - [error]  required: mypackage.Key[java.lang.Number]
 - [error] Note: T <: java.lang.Number, but Java-defined class Key is
   invariant in type T.
 - [error] You may wish to investigate a wildcard type such as `_ <:
   java.lang.Number`. (SLS 3.2.10)
 - [error]     setAttributeLocal(key, value)

I can't figure out what's the problem. Any suggestions/idea?


greez
GarfieldKlon

