Mark
03/19/2023, 3:07 AMfun <T> Foo<T>.getValue(): T
val foo: Foo<Boolean> = ...
println("no problem: " + foo.getValue())
val fooAnyValue: Any = foo.getValue()
println("also no problem: " + fooAnyValue)
val fooValue = foo.getValue()
println("class cast exception (fooValue is not a Boolean): " + fooValue)asdf asdf
03/19/2023, 5:18 AMfooValuegetValueasdf asdf
03/19/2023, 5:19 AMfooAnyBooleanMark
03/19/2023, 8:23 AMAnyAnyClassCastExceptionval fooValue = foo.getValue()BooleanfooValueMark
03/19/2023, 8:26 AMStringBooleanMark
03/19/2023, 9:01 AMinline fun <reified T> Foo<T>.getValueSafely(): T? = getValue() as? TClassCastExceptionilya.gorbunov
03/19/2023, 7:59 PM