mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
These are tests that fail in the next commit without this flag. This does not add -verify-ignore-unrelated to all tests with -verify, only the ones that would fail without it. This is NFC since this flag is currently a no-op.
37 lines
1.7 KiB
Swift
37 lines
1.7 KiB
Swift
// RUN: %target-swift-frontend-typecheck -verify -verify-ignore-unrelated %s -DILLEGAL \
|
|
// RUN: -enable-builtin-module \
|
|
// RUN: -verify-additional-prefix illegal-
|
|
|
|
// RUN: %target-swift-frontend -emit-sil -sil-verify-all -verify -verify-ignore-unrelated %s \
|
|
// RUN: -enable-builtin-module
|
|
|
|
import Builtin
|
|
|
|
struct NC: ~Copyable {}
|
|
|
|
func checkPointerBuiltins(_ ptr: Builtin.RawPointer, _ value: consuming NC) {
|
|
Builtin.initialize(value, ptr)
|
|
}
|
|
|
|
func checkArrayBuiltins(_ dest: Builtin.RawPointer, src: Builtin.RawPointer, count: Builtin.Word) {
|
|
Builtin.takeArrayFrontToBack(NC.self, dest, src, count)
|
|
Builtin.takeArrayBackToFront(NC.self, dest, src, count)
|
|
Builtin.assignTakeArray(NC.self, dest, src, count)
|
|
Builtin.destroyArray(NC.self, dest, count)
|
|
|
|
#if ILLEGAL
|
|
Builtin.copyArray(NC.self, dest, src, count) // expected-illegal-error {{global function 'copyArray' requires that 'NC' conform to 'Copyable'}}
|
|
Builtin.assignCopyArrayNoAlias(NC.self, dest, src, count) // expected-illegal-error {{global function 'assignCopyArrayNoAlias' requires that 'NC' conform to 'Copyable'}}
|
|
Builtin.assignCopyArrayFrontToBack(NC.self, dest, src, count) // expected-illegal-error {{global function 'assignCopyArrayFrontToBack' requires that 'NC' conform to 'Copyable'}}
|
|
Builtin.assignCopyArrayBackToFront(NC.self, dest, src, count) // expected-illegal-error {{global function 'assignCopyArrayBackToFront' requires that 'NC' conform to 'Copyable'}}
|
|
#endif
|
|
}
|
|
|
|
public func checkIllegal() {
|
|
#if ILLEGAL
|
|
_ = Builtin.unsafeCastToNativeObject(NC())
|
|
_ = Builtin.castToNativeObject(NC()) // expected-illegal-error {{global function 'castToNativeObject' requires that 'NC' conform to 'Copyable'}}
|
|
let _: NC = Builtin.zeroInitializer()
|
|
#endif
|
|
}
|