allan.conda
val nullableFoo: Any? = null val nonNullFoo = nullableFoo != null if (nonNullFoo) { acceptsNonNullFoo(nullableFoo) // expected Any but is Any? }
val nullableFoo: Any? = null if (nullableFoo != null) { acceptsNonNullFoo(nullableFoo) }
Joffrey
nonNullFoo
nullableFoo
if
nullableFoo != null
if (nonNullFoo && nullableFoo != null)
Vampire
acceptsNonNullFoo(nullableFoo!!)
!!
Adam S
@ExperimentalContracts private fun validate(request: Request?) { contract { returns() implies (request != null) } if (request == null) { throw IllegalArgumentException("Undefined request") } if (request.arg.isBlank()) { throw IllegalArgumentException("No argument is provided") } }
dmitriy.novozhilov
A modern programming language that makes developers happier.