android - example - retrofit dagger
Daga 2 multibindings con Kotlin. (1)
Como se describe en la reference Kotlin.
Para hacer que las API de Kotlin funcionen en Java, generamos
Box<Super>
comoBox<? extends Super>
Box<? extends Super>
para laBox
definida de forma covariante (oFoo<? super Bar>
para la definición de Foo contravariante) cuando aparece como un parámetro.
Puede usar @JvmSuppressWildcards
para evitarlo, de la siguiente manera:
@Inject lateinit var foo: Set<@JvmSuppressWildcards Foo>
Tengo el siguiente fragmento en mi módulo daga 2
@Singleton
@Provides
@ElementsIntoSet
fun providesQueries(foo: Foo): Set<Foo>{
val queries = LinkedHashSet<Foo>()
queries.add(foo)
return queries
}
Trato de inyectar de esta manera
@Inject lateinit var foo: Set<Foo>
Pero Dagger muestra un error que dice que Dagger no puede proporcionar java.util.Set sin el método @Provides o @Produces.
Hice lo mismo en java y funcionó. ¿Alguien sabe por qué está fallando?