Files
swift-mirror/test/Sema/availability_compound.swift
Jordan Rose 4fbd3e6f29 Don't check availability for compound TypeReprs in Swift 3 mode.
Same as previous, but for availability. Again, it would be great
to get some follow-up work to make these into warnings instead of
just silencing them, but restoring source compatibility is the
first priority.

Rest of rdar://problem/29782505.
2017-01-03 13:14:23 -08:00

19 lines
966 B
Swift

// RUN: %target-typecheck-verify-swift -swift-version 4
public struct Pair<A, B> {}
public struct PublicStruct {
public struct Inner {}
@available(*, unavailable)
internal struct Obsolete {} // expected-note * {{marked unavailable here}}
}
@available(*, unavailable, renamed: "PublicStruct")
public typealias ObsoleteAlias = PublicStruct // expected-note * {{marked unavailable here}}
public let a: ObsoleteAlias.Inner? // expected-error {{'ObsoleteAlias' has been renamed to 'PublicStruct'}}
public let b: ObsoleteAlias.Obsolete? // expected-error {{'ObsoleteAlias' has been renamed to 'PublicStruct'}}
public let c: Pair<ObsoleteAlias.Inner, PublicStruct.Obsolete>? // expected-error {{'ObsoleteAlias' has been renamed to 'PublicStruct'}}
public let c2: Pair<PublicStruct.Obsolete, ObsoleteAlias.Inner>? // expected-error {{'Obsolete' is unavailable}}
public let d: ObsoleteAlias? // expected-error {{'ObsoleteAlias' has been renamed to 'PublicStruct'}}