没有足够的信息来推断类型变量 T

Not enough information to infer type variable T

我今天已经将我的 build.gradle 文件更新到最新版本
classpath 'com.android.tools.build:gradle:3.6.3' and the latest ext.kotlin_version = '1.3.72' 我在标题中收到以下错误:instance().

private val viewModelFactory: ListViewModelFactory by instance()

这是我的工厂class:

class ListViewModelFactory(
    private val listRepository: ListRepository
) : ViewModelProvider.NewInstanceFactory() {

    @Suppress("UNCHECKED_CAST")
    override fun <T : ViewModel?> create(modelClass: Class<T>): T {
        return ListViewModel(listRepository) as T
    }
}

有人可以解释为什么会发生这种情况以及我怎样才能摆脱这个错误。提前致谢!

P.S。如果有任何帮助,我使用 kodein,这是我的绑定

bind() from provider { ListViewModelFactory(instance()) }

你能试试吗
private val viewModelFactory by instance<ListViewModelFactory>()

为避免此问题,请在 IDE 中禁用 "Preferences | Kotlin Compiler" 中的新类型推断。

试试这个:替换

 private val factory : AuthViewModelFactory by instance()

  private val factory by instance<AuthViewModelFactory>()