Retrieving reified generic arguments

Kotlin has a great feature that will allow you to preserve generic type T for further work, not only type resolution. So how much we can utilize it? This simple code does not take any “normal” argument, but it takes one generic argument – the T. Usually, we can just pass the T around to … Read more

Variance Elsewhere

The last post was mainly about the variance explanation and it was using Kotlin. But what about other languages? Let’s explore together. TL;DR Language Generics dec. out dec. in use out use in type erasure break out rules Variance available on Kotlin ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ classes, interfaces Java ✔️ ❌ ❌ … Read more

Variance

A lot was written about variance and its application in generics. This is another trial to explain variance and its practical usage. Let’s explore this using Kotlin. This article expects basic knowledge about generics. Variance is a powerful way to allow your code to do more. It is most obvious when you consider generics with … Read more