Files
swift-mirror/test/stdlib/LifetimeManagement.swift
Nate Chandler c10d39e35f [AST] Remove Builtin.copy.
A vestigial remnant of it was left behind after
06921cfe84 in order to avoid a reverse
condfail when building old swiftinterfaces that define

```swift
func _copy<T>(_ value: T) -> T {
  #if $BuiltinCopy
    Builtin.copy(value)
  #else
    value
  #endif
}
```

If the language feature is removed, though, such interfaces should again
be buildable because the branch where the language feature isn't defined
should be expanded.

rdar://127516085
2024-05-04 11:35:17 -07:00

29 lines
470 B
Swift

// RUN: %target-run-simple-swift(-Xfrontend -enable-experimental-move-only -enable-builtin-module)
// REQUIRES: executable_test
import StdlibUnittest
import Builtin
class Klass {}
var suite = TestSuite("LifetimeManagement")
suite.test("_copy") {
let k = Klass()
expectTrue(k === _copy(k))
}
suite.test("copy") {
let k = Klass()
expectTrue(k === copy k)
}
suite.test("move") {
let k = Klass()
let k2 = k
expectTrue(k2 === consume k)
}
runAllTests()