   var var_GP_Unconstrained: GP_Unconstrained
 // CHECK-LABEL: {{^}}  var var_GP_Unconstrained: GP_Unconstrained
 
-  @objc var var_GP_Unconstrained_: GP_Unconstrained
+  @objc
+  var var_GP_Unconstrained_: GP_Unconstrained
   // expected-error@-1 {{property cannot be marked @objc because its type cannot be represented in Objective-C}}
   // expected-note@-2 {{generic type parameters cannot be represented in Objective-C}}
 
   var var_GP_PlainClass: GP_PlainClass
 // CHECK-LABEL: {{^}}  var var_GP_PlainClass: GP_PlainClass
 
-  @objc var var_GP_PlainClass_: GP_PlainClass
+  @objc
+  var var_GP_PlainClass_: GP_PlainClass
   // expected-error@-1 {{property cannot be marked @objc because its type cannot be represented in Objective-C}}
   // expected-note@-2 {{generic type parameters cannot be represented in Objective-C}}
 
   var var_GP_PlainProtocol: GP_PlainProtocol
 // CHECK-LABEL: {{^}}  var var_GP_PlainProtocol: GP_PlainProtocol
 
-  @objc var var_GP_PlainProtocol_: GP_PlainProtocol
+  @objc
+  var var_GP_PlainProtocol_: GP_PlainProtocol
   // expected-error@-1 {{property cannot be marked @objc because its type cannot be represented in Objective-C}}
   // expected-note@-2 {{generic type parameters cannot be represented in Objective-C}}
 
   var var_GP_Class_ObjC: GP_Class_ObjC
 // CHECK-LABEL: {{^}}  var var_GP_Class_ObjC: GP_Class_ObjC
 
-  @objc var var_GP_Class_ObjC_: GP_Class_ObjC
+  @objc
+  var var_GP_Class_ObjC_: GP_Class_ObjC
   // expected-error@-1 {{property cannot be marked @objc because its type cannot be represented in Objective-C}}
   // expected-note@-2 {{generic type parameters cannot be represented in Objective-C}}
 
   var var_GP_Protocol_Class: GP_Protocol_Class
 // CHECK-LABEL: {{^}}  var var_GP_Protocol_Class: GP_Protocol_Class
 
-  @objc var var_GP_Protocol_Class_: GP_Protocol_Class
+  @objc
+  var var_GP_Protocol_Class_: GP_Protocol_Class
   // expected-error@-1 {{property cannot be marked @objc because its type cannot be represented in Objective-C}}
   // expected-note@-2 {{generic type parameters cannot be represented in Objective-C}}
 
   var var_GP_Protocol_ObjC: GP_Protocol_ObjC
 // CHECK-LABEL: {{^}}  var var_GP_Protocol_ObjC: GP_Protocol_ObjC
 
-  @objc var var_GP_Protocol_ObjCa: GP_Protocol_ObjC
+  @objc
+  var var_GP_Protocol_ObjCa: GP_Protocol_ObjC
   // expected-error@-1 {{property cannot be marked @objc because its type cannot be represented in Objective-C}}
   // expected-note@-2 {{generic type parameters cannot be represented in Objective-C}}
 
   func func_GP_Unconstrained(a: GP_Unconstrained) {}
 // CHECK-LABEL: {{^}} func func_GP_Unconstrained(a: GP_Unconstrained) {
 
-  @objc func func_GP_Unconstrained_(a: GP_Unconstrained) {}
+  @objc
+  func func_GP_Unconstrained_(a: GP_Unconstrained) {}
   // expected-error@-1 {{method cannot be marked @objc because the type of the parameter cannot be represented in Objective-C}}
   // expected-note@-2 {{generic type parameters cannot be represented in Objective-C}}
 
-  @objc func func_GP_Unconstrained_() -> GP_Unconstrained {}
+  @objc
+  func func_GP_Unconstrained_() -> GP_Unconstrained {}
   // expected-error@-1 {{method cannot be marked @objc because its result type cannot be represented in Objective-C}}
   // expected-note@-2 {{generic type parameters cannot be represented in Objective-C}}
 
-  @objc func func_GP_Class_ObjC__() -> GP_Class_ObjC {}
+  @objc
+  func func_GP_Class_ObjC__() -> GP_Class_ObjC {}
   // expected-error@-1 {{method cannot be marked @objc because its result type cannot be represented in Objective-C}}
   // expected-note@-2 {{generic type parameters cannot be represented in Objective-C}}
 }

@objc
protocol subject_containerObjCProtocol2 {
  init(a: Int)
  @objc init(a: Double)

  func func1() -> Int
  @objc func func1_() -> Int

  var instanceVar1: Int { get set }
  @objc var instanceVar1_: Int { get set }

  subscript(i: Int) -> Int { get set }
  @objc subscript(i: String) -> Int { get set}
}

protocol nonObjCProtocol {
  @objc func objcRequirement() // expected-error{{@objc can only be used with members of classes, @objc protocols, and concrete extensions of classes}}
}

func concreteContext1() {

    // CHECK-NEXT: {{^}} @objc set {
  }

  @objc
  var observingAccessorsVar1_: Int {
  // CHECK: {{^}} @objc @_hasStorage var observingAccessorsVar1_: Int {
    willSet {}
    // CHECK-NEXT: {{^}} @objc get {
