diff --git a/include/swift/AST/Builtins.def b/include/swift/AST/Builtins.def index 4352ad2974867..b39972c7be964 100644 --- a/include/swift/AST/Builtins.def +++ b/include/swift/AST/Builtins.def @@ -240,6 +240,7 @@ BUILTIN_SIL_OPERATION(LoadRaw, "loadRaw", Special) BUILTIN_SIL_OPERATION(LoadInvariant, "loadInvariant", Special) /// Take has type (Builtin.RawPointer) -> T +/// where T: ~Copyable & ~Escapable BUILTIN_SIL_OPERATION(Take, "take", Special) /// Destroy has type (T.Type, Builtin.RawPointer) -> () diff --git a/lib/AST/Builtins.cpp b/lib/AST/Builtins.cpp index b2d5dd8af304f..3ed613359e9e5 100644 --- a/lib/AST/Builtins.cpp +++ b/lib/AST/Builtins.cpp @@ -923,16 +923,14 @@ static ValueDecl *getRefCountingOperation(ASTContext &ctx, Identifier id) { static ValueDecl *getLoadOperation(ASTContext &ctx, Identifier id) { return getBuiltinFunction(ctx, id, _thin, _generics(_unrestricted, - _conformsTo(_typeparam(0), _copyable), - _conformsTo(_typeparam(0), _escapable)), + _conformsTo(_typeparam(0), _copyable)), _parameters(_rawPointer), _typeparam(0)); } static ValueDecl *getTakeOperation(ASTContext &ctx, Identifier id) { return getBuiltinFunction(ctx, id, _thin, - _generics(_unrestricted, - _conformsTo(_typeparam(0), _escapable)), + _generics(_unrestricted), _parameters(_rawPointer), _typeparam(0)); }