// RUN: %target-swift-frontend -module-name devirt_nested_class -emit-sil -O %s | %FileCheck %s fileprivate class Outer { class Inner : Base { @_optimize(none) override func method(v: V) {} } } fileprivate class Base { @_optimize(none) func method(v: V) {} } fileprivate class Derived : Outer.Inner {} @_transparent fileprivate func bar(b: Base, v: V) { b.method(v: v) } fileprivate func foo(d: Outer.Inner, v: V) { bar(b: d, v: v) } foo(d: Outer.Inner(), v: 0) // CHECK-LABEL: sil {{.*}}@main : $@convention(c) (Int32, UnsafeMutablePointer>>) -> Int32 // CHECK: function_ref @$s19devirt_nested_class5Outer{{.*}}LC5InnerC6method1vyqd0___tlF : $@convention(method) <τ_0_0><τ_1_0><τ_2_0> (@in_guaranteed τ_2_0, @guaranteed Outer<τ_0_0>.Inner<τ_1_0>) -> () // CHECK: return