 
   // Methods in general on nonfinal classes cannot use the self metadata as
   // is.
-  // CHECK-LABEL: define {{.*}}15PrivateNonfinal{{.*}}buttsyyF"
+  // CHECK-LABEL: define {{.*}}15PrivateNonfinal{{.*}}buttsyyF{{.*}}"
   @inline(never)
   final func butts() {
     // CHECK: [[INSTANTIATED_TYPE_RESPONSE:%.*]] = call {{.*}} @{{.*}}15PrivateNonfinal{{.*}}Ma

    useMetadata(FinalPrivateNonfinalSubclass<Int>.self)
  }

  // CHECK-LABEL: define {{.*}}FinalPrivateNonfinalSubclass{{.*}}cfC"
  // CHECK:         call {{.*}}@swift_allocObject(%swift.type* %0
}

final private class PrivateFinal<T, U, V> {
  // The class is final, so we can always form metadata for

// RUN: %target-swift-frontend -emit-ir %s | %FileCheck %s --check-prefix=CHECK --check-prefix=ONONE
// RUN: %target-swift-frontend -O -disable-llvm-optzns -Xllvm -sil-disable-pass=FunctionSignatureOpts -emit-ir %s | %FileCheck %s --check-prefix=CHECK --check-prefix=O

@_silgen_name("useMetadata")
func useMetadata<T>(_: T.Type)
