   }
 }
 
-@frozen public struct FrozenPublicStruct { // expected-note 6 {{add @available attribute}}
+@frozen public struct FrozenPublicStruct { // expected-note 12 {{add @available attribute}}
   // Public declarations act like @inlinable.
   public var aPublic: NoAvailable
   public var bPublic: BeforeInliningTarget

  public var ePublic: AtDeploymentTarget // expected-error {{'AtDeploymentTarget' is only available in}}
  public var fPublic: AfterDeploymentTarget // expected-error {{'AfterDeploymentTarget' is only available in}}

  // Internal declarations act like @inlinable in a frozen struct.
  var aInternal: NoAvailable
  var bInternal: BeforeInliningTarget
  var cInternal: AtInliningTarget
  var dInternal: BetweenTargets // expected-error {{'BetweenTargets' is only available in}}
  var eInternal: AtDeploymentTarget // expected-error {{'AtDeploymentTarget' is only available in}}
  var fInternal: AfterDeploymentTarget // expected-error {{'AfterDeploymentTarget' is only available in}}
}

internal struct InternalStruct { // expected-note {{add @available attribute}}

  public var dPublic: BetweenTargets // expected-error {{'BetweenTargets' is only available in}}
  public var ePublic: AtDeploymentTarget // expected-error {{'AtDeploymentTarget' is only available in}}
  public var fPublic: AfterDeploymentTarget // expected-error {{'AfterDeploymentTarget' is only available in}}
  
  // The initializers of property wrappers are not inlined
  @PropertyWrapper(NoAvailable()) public var aPublicWrapped: Any
  @PropertyWrapper(BeforeInliningTarget()) public var bPublicWrapped: Any
  @PropertyWrapper(AtInliningTarget()) public var cPublicWrapped: Any
  // FIXME: The next two should not be diagnosed, the property wrapper inits are not inlined
  @PropertyWrapper(BetweenTargets()) public var dPublicWrapped: Any // expected-error {{'BetweenTargets' is only available in}}
  @PropertyWrapper(AtDeploymentTarget()) public var ePublicWrapped: Any // expected-error {{'AtDeploymentTarget' is only available in}}
  @PropertyWrapper(AfterDeploymentTarget()) public var fPublicWrapped: Any // expected-error {{'AfterDeploymentTarget' is only available in}}

  // Property initializers in resilient structs are non-inlinable.
  public var aPublicInit: Any = NoAvailable()
  public var bPublicInit: Any = BeforeInliningTarget()
  public var cPublicInit: Any = AtInliningTarget()
  // FIXME: The next two should not be diagnosed, the initializers are not inlined
  public var dPublicInit: Any = BetweenTargets() // expected-error {{'BetweenTargets' is only available in}}
  public var ePublicInit: Any = AtDeploymentTarget() // expected-error {{'AtDeploymentTarget' is only available in}}
  public var fPublicInit: Any = AfterDeploymentTarget() // expected-error {{'AfterDeploymentTarget' is only available in}}

  // Internal declarations act like non-inlinable.
  var aInternal: NoAvailable = .init()
  var bInternal: BeforeInliningTarget = .init()
  var cInternal: AtInliningTarget = .init()
  var dInternal: BetweenTargets = .init()
  var eInternal: AtDeploymentTarget = .init()
  var fInternal: AfterDeploymentTarget = .init() // expected-error {{'AfterDeploymentTarget' is only available in}}

  @available(macOS 10.14.5, iOS 12.3, tvOS 12.3, watchOS 5.3, *)
  public internal(set) var internalSetter: Void {
