 // CHECK:         destroy_addr [[SELF_COPY]]
 // CHECK-NOT:     destroy_addr [[SELF_ADDR]]
 
-enum E: Fooable {
-  case A, B(C)
-  init() { self = .A }
-  init(c: C) { self = .B(c) }
-
-  func foo(x: Int) {
-    self.foo(x)
-  }
-  mutating func bar() {
-    self.bar()
-  }
-  func bas() {
-    self.bas()
-  }
-
-  var prop1: Int {
-    get { return 0 }
-    set { }
-  }
-  var prop2: Int {
-    get { return 0 }
-    set { }
-  }
-  var prop3: Int {
-    get { return 0 }
-    nonmutating set { }
-  }
-}
-
-prefix func +(x: E) {}
-
 class C: Fooable, Barrable {
   required init() {}
   @objc func foo(x: Int) {

    set {}
  }
}

prefix func +(x: C) {}

  mutating func bar()
  mutating func bas()

  var prop1: Int { get set }
  var prop2: Int { get set }
  var prop3: Int { get nonmutating set }
