diff --git a/include/swift/AST/Builtins.def b/include/swift/AST/Builtins.def index 4352ad29748..b39972c7be9 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 b2d5dd8af30..6e335eae267 100644 --- a/lib/AST/Builtins.cpp +++ b/lib/AST/Builtins.cpp @@ -931,8 +931,7 @@ static ValueDecl *getLoadOperation(ASTContext &ctx, Identifier id) { static ValueDecl *getTakeOperation(ASTContext &ctx, Identifier id) { return getBuiltinFunction(ctx, id, _thin, - _generics(_unrestricted, - _conformsTo(_typeparam(0), _escapable)), + _generics(_unrestricted), _parameters(_rawPointer), _typeparam(0)); }