   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
-  var bInternal: BeforeInliningTarget
-  var cInternal: AtInliningTarget
-  var dInternal: BetweenTargets
-  var eInternal: AtDeploymentTarget
-  var fInternal: AfterDeploymentTarget // expected-error {{'AfterDeploymentTarget' is only available in}}
+  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 {

  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}}

// NON_MIN: {'BetweenTargets' is only available in}


// MARK: - Struct definitions

/// Declaration with no availability annotation. Should be inferred as minimum
/// inlining target.
public struct NoAvailable {
