// WITH_STDLIB // WORKS_WHEN_VALUE_CLASS // LANGUAGE: +ValueClasses OPTIONAL_JVM_INLINE_ANNOTATION value class Value(val value: String) object Foo { fun foo(value: Value) { res = value.value } fun bar(value: Value?) { res = value?.value } } var res: String? = "FAIL" fun box(): String { Value("OK").let(Foo::foo) if (res != "OK") return "FAIL 1: $res" res = "FAIL 2" Value("OK").let(Foo::bar) if (res != "OK") return "FAIL 3: $res" res = "FAIL 4" null.let(Foo::bar) if (res != null) return "FAIL 3: $res" return "OK" }