vlad.minaev
10/30/2019, 10:23 PMfun <T : User>gen(): List<T> = listOf(User())
Ruckus
10/30/2019, 10:29 PMT
is a User
, but User
isn't necessarily a T
, so you can't return a list of `User`s when a list of `T`s is expected.karelpeeters
10/30/2019, 10:30 PMvlad.minaev
10/30/2019, 10:30 PMvlad.minaev
10/30/2019, 10:32 PMkarelpeeters
10/30/2019, 10:32 PMemptyList
has the same signature as your function, but there it is correct.Ruckus
10/30/2019, 10:35 PMvlad.minaev
10/30/2019, 10:44 PMwell, you can with reflectionactually that's the thing in my case so the method always returns instances of passed type
karelpeeters
10/30/2019, 10:48 PMfun <T: User> gen(cls: KClass<T>): List<T>
, I think that has the potential to be correct.vlad.minaev
10/30/2019, 10:53 PMvlad.minaev
10/30/2019, 10:54 PMkarelpeeters
10/30/2019, 10:57 PMKClass
?Ruckus
10/30/2019, 11:00 PMvlad.minaev
10/30/2019, 11:03 PMfun <T: User> tx(producer: () -> T): T
Muhammad Usman
11/05/2019, 11:57 AMinline fun < reified T : User>gen(): List<T> = listOf(T::class.java.newInstance())