dagger icon indicating copy to clipboard operation
dagger copied to clipboard

Don't explode on wildcard types

Open swankjesse opened this issue 13 years ago • 2 comments

Given this input:

    @Provides Class<? extends MyInterface> provideClassImpl() {
        return InterfaceImpl.class;
    }

Dagger fails like this:

java.lang.UnsupportedOperationException: Uninjectable type ? extends com.sample.app.di.MyInterface
E/AndroidRuntime( 6701):        at dagger.internal.Keys.typeToString(Keys.java:169)
E/AndroidRuntime( 6701):        at dagger.internal.Keys.typeToString(Keys.java:161)
E/AndroidRuntime( 6701):        at dagger.internal.Keys.get(Keys.java:79)
E/AndroidRuntime( 6701):        at dagger.internal.Keys.get(Keys.java:111)

We should handle wildcard types!

swankjesse avatar Nov 25 '12 21:11 swankjesse

This error is good enough 'til we do two-phase code gen.

swankjesse avatar May 03 '13 14:05 swankjesse

This is also annoying for set bindings where I want to collect a bunch of, say, Async<?> things and not really care what their generic param is.

JakeWharton avatar Feb 01 '16 05:02 JakeWharton