// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE fun parameter() = fun (t: T) = t fun receiver() = fun T.() = this fun returnType() = fun (): T = null!! val T.fromVal: () -> T get() = fun (): T = this@fromVal fun devNull(a: Any?){} fun outer() { fun parameter() = fun (t: T) = t fun receiver() = fun T.() = this fun returnType() = fun (): T = null!! devNull(fun (t: O) = t) devNull(fun O.() = this) devNull(fun (): O = null!!) } class Outer { fun parameter() = fun (t: T) = t fun receiver() = fun T.() = this fun returnType() = fun (): T = null!! init { devNull(fun (t: O) = t) devNull(fun O.() = this) devNull(fun (): O = null!!) } }