mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
- replaces "move-only" terminology with "noncopyable" - replaces compiler jargon like "guaranteed parameters" and "lvalue" with corresponding language-level notions - simplifies diagnostics about closures. and probably more. rdar://109281444
18 lines
500 B
Swift
18 lines
500 B
Swift
// RUN: %target-typecheck-verify-swift -enable-experimental-feature MoveOnlyEnumDeinits
|
|
|
|
// REQUIRES: objc_interop
|
|
|
|
// Validate that we can't mark an objc enum as move only.
|
|
|
|
@_moveOnly
|
|
@objc enum Foo : Int { // expected-error {{noncopyable enums cannot be marked '@objc'}}
|
|
case X, Y, Z
|
|
deinit {} // expected-error {{deinitializers cannot be declared on an @objc enum type}}
|
|
}
|
|
|
|
@_moveOnly
|
|
@objc enum Foo2 : Int { // expected-error {{noncopyable enums cannot be marked '@objc'}}
|
|
case X, Y, Z
|
|
}
|
|
|