mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
This attribute controls whether cross-module access to the declaration needs `@unknown default:` because it's allowed to gain new cases even if the module is non-resilient.
39 lines
1.2 KiB
Swift
39 lines
1.2 KiB
Swift
// RUN: %target-typecheck-verify-swift
|
|
|
|
@extensible
|
|
public enum E1 { // Ok
|
|
}
|
|
|
|
@extensible // expected-error {{'@extensible' attribute can only be applied to public or package declarations, but 'E2' is fileprivate}}
|
|
fileprivate enum E2 {}
|
|
|
|
@extensible // expected-error {{cannot use '@extensible' together with '@frozen'}}
|
|
@frozen
|
|
public enum E3 {
|
|
}
|
|
|
|
@extensible // expected-error {{'@extensible' attribute can only be applied to public or package declarations, but 'E4' is internal}}
|
|
@usableFromInline
|
|
enum E4 {}
|
|
|
|
@extensible // expected-error {{@extensible may only be used on 'enum' declarations}}
|
|
struct Test {
|
|
@extensible // expected-error {{@extensible may only be used on 'enum' declarations}}
|
|
var v: Int {
|
|
@extensible // expected-error {{@extensible may only be used on 'enum' declarations}}
|
|
get { 0 }
|
|
}
|
|
|
|
@extensible // expected-error {{@extensible may only be used on 'enum' declarations}}
|
|
var v2: String = ""
|
|
|
|
@extensible // expected-error {{@extensible may only be used on 'enum' declarations}}
|
|
func test() {}
|
|
|
|
@extensible // expected-error {{@extensible may only be used on 'enum' declarations}}
|
|
subscript(a: Int) -> Bool {
|
|
get { false }
|
|
set { }
|
|
}
|
|
}
|