I have a base class with generic argument, what th...
# getting-started
u
I have a base class with generic argument, what that argument cannot be internal?
Copy code
abstract class BaseController<VM : ViewModel> {
    ...
    protected abstract fun onBindView(activity: Activity, viewModel: VM)
    ...
}


class AccountDetailsController : BaseController<AccountDetailsViewModel>   <------------ 'public' subclass exposes its internal supertype argument AccountDetailsViewModel

    override fun onBindView(activity: Activity, viewModel: AccountDetailsViewModel) { <------------ 'public' subclass exposes its internal supertype argument AccountDetailsViewModel
        ...
    }

}

internal class AccountDetailsViewModel(...) : ViewModel() {
    ...
}