Add the @_unsafeNonEscapableResult function

This will allow NonEscapable types to be returned from a function.
This commit is contained in:
Andrew Trick
2023-10-13 00:32:10 -07:00
parent 045253e614
commit ca7253a25c
13 changed files with 59 additions and 1 deletions

View File

@@ -197,6 +197,10 @@ void SILFunctionBuilder::addFunctionAttributes(
F->setForceEnableLexicalLifetimes(DoForceEnableLexicalLifetimes);
}
if (Attrs.hasAttribute<UnsafeNonEscapableResultAttr>()) {
F->setHasUnsafeNonEscapableResult(true);
}
// Validate `@differentiable` attributes by calling `getParameterIndices`.
// This is important for:
// - Skipping invalid `@differentiable` attributes in non-primary files.