Reified Generics

Learn how inline functions and reified types in Kotlin can overcome type erasure limitations and define overloaded functions with different types.

We'll cover the following...

We now know what inline functions are. Since inline functions are copied, we can get rid of one of the major JVM limitations: type erasure. After all, inside the function, we know exactly what type we’re getting.

Let’s look at the following example. We would like to create a generic function that will receive a Number ( Number can either be Int or Long ), but will only print it if it’s of the same type as the function type.

We’ll start with a naïve implementation, simply trying the instance check ...