Files
swift-mirror/test/Sema/moveonly_decl_attr.swift
Kavon Farvardin 2557ba96c8 Noncopyable: deprecate '@_moveOnly' attribute
This hidden attribute is a leftover from before the '~Copyable' syntax.

rdar://130526083
2024-07-23 11:05:33 -07:00

28 lines
1.5 KiB
Swift

// RUN: %target-typecheck-verify-swift -disable-availability-checking
// expected-error@+1 {{'@_moveOnly' attribute is deprecated and will be removed; use '~Copyable' instead}}
@_moveOnly class C { // expected-error {{'@_moveOnly' attribute is only valid on structs or enums}}{{1-12=}}
@_moveOnly // expected-error {{'@_moveOnly' attribute cannot be applied to this declaration}}
func foo() {}
}
// expected-error@+1 {{'@_moveOnly' attribute is deprecated and will be removed; use '~Copyable' instead}}
@_moveOnly struct S {
@_moveOnly // expected-error {{'@_moveOnly' attribute cannot be applied to this declaration}}
func foo() {}
}
// expected-error@+1 {{'@_moveOnly' attribute is deprecated and will be removed; use '~Copyable' instead}}
@_moveOnly enum E {
@_moveOnly // expected-error {{'@_moveOnly' attribute cannot be applied to this declaration}}
func foo() {}
}
@_moveOnly let l = C() // expected-error {{'@_moveOnly' attribute cannot be applied to this declaration}}
// expected-error@+1 {{'@_moveOnly' attribute is deprecated and will be removed; use '~Copyable' instead}}
@_moveOnly protocol P {} // expected-error {{'@_moveOnly' attribute is only valid on structs or enums}}{{1-12=}}
// expected-error@+1 {{'@_moveOnly' attribute is deprecated and will be removed; use '~Copyable' instead}}
@_moveOnly actor A {} // expected-error {{'@_moveOnly' attribute is only valid on structs or enums}}{{1-12=}}
@_moveOnly extension C {} // expected-error {{'@_moveOnly' attribute cannot be applied to this declaration}}{{1-12=}}