Предоставление общего экземпляра в Kotlin & Guice

У меня есть Module Guice, который предоставляет List<String> с помощью метода @Provides -annotated.

 class TestModule() : Module { override fun configure(binder: Binder) {} @Provides fun getStrings(): List<String> = listOf("foo", "bar") } class Test { @Test fun `provider can not deliver`() { val injector = Guice.createInjector(TestModule()) injector.getInstance(object : Key<List<String>>() {}) } } 

Однако тест не выполняется:

 1) No implementation for java.util.List<? extends java.lang.String> was bound. while locating java.util.List<? extends java.lang.String> 

Теперь это похоже на этот вопрос, но я не знаю, где добавить аннотацию @JvmSuppressWildcards ; добавление его в метод getStrings() ничего не меняет, как и добавление его к object в вызове getInstance() . Как заставить Guice делать то, что я хочу?

    После многих проб и ошибок я пришел к этому решению:

     @Test fun `provider can not deliver`() { val injector = Guice.createInjector(TestModule()) injector.getInstance(object : Key<List<@JvmSuppressWildcards String>>() {}) } 

    Это последнее место, которое я бы подумал, что аннотация действительно действительна, но внезапно тест был зеленым.

    Intereting Posts
    Применение перечисления состоит из 3 адаптеров между 2 действиями в Котлине Как определить arralist глобально в kotlin Kotlin – не работает «привет мир» в intellij Инструменты статического анализа для языка программирования Kotlin? Клавиатура скрывает BottomSheetDialogFragment Странная ошибка «Неразрешенная ссылка:» после обновления до Kotlin 1.0.5 Как вернуть результат в doInBackground после завершения процесса завершения работы в API UserLoginTask Количество экземпляров каждого тега с использованием функционального программирования Как передать токен JWT из одной активности в другую? Вернуть пустой результат в запрос QueryRecyclerAdapter Изменить уведомления в Realm для внутренних объектов? Не удается открыть проект студии Android после установки kotlin Как я могу запустить один Android-тест с помощью Kotlin? Является ли Kotlin сложнее, чем java Как бесконечно и лениво перебирать список в Котлин?