File tree Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -316,10 +316,13 @@ enum FunctionRepresentationSynthesizer {
316316};
317317template <class S > struct ThrowsSynthesizer { S sub; };
318318template <class S > struct AsyncSynthesizer { S sub; };
319+ template <class S > struct NoescapeSynthesizer { S sub; };
319320template <class S >
320321constexpr ThrowsSynthesizer<S> _throws (S sub) { return {sub}; }
321322template <class S >
322323constexpr AsyncSynthesizer<S> _async (S sub) { return {sub}; }
324+ template <class S >
325+ constexpr NoescapeSynthesizer<S> _noescape (S sub) { return {sub}; }
323326
324327inline ASTExtInfo synthesizeExtInfo (SynthesisContext &SC,
325328 FunctionRepresentationSynthesizer kind) {
@@ -340,6 +343,11 @@ ASTExtInfo synthesizeExtInfo(SynthesisContext &SC,
340343 const AsyncSynthesizer<S> &s) {
341344 return synthesizeExtInfo (SC, s.sub ).withAsync ();
342345}
346+ template <class S >
347+ ASTExtInfo synthesizeExtInfo (SynthesisContext &SC,
348+ const NoescapeSynthesizer<S> &s) {
349+ return synthesizeExtInfo (SC, s.sub ).withNoEscape ();
350+ }
343351
344352// / Synthesize a function type.
345353template <class ExtInfoS , class ResultS , class ParamsS >
You can’t perform that action at this time.
0 commit comments