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 {
316
316
};
317
317
template <class S > struct ThrowsSynthesizer { S sub; };
318
318
template <class S > struct AsyncSynthesizer { S sub; };
319
+ template <class S > struct NoescapeSynthesizer { S sub; };
319
320
template <class S >
320
321
constexpr ThrowsSynthesizer<S> _throws (S sub) { return {sub}; }
321
322
template <class S >
322
323
constexpr AsyncSynthesizer<S> _async (S sub) { return {sub}; }
324
+ template <class S >
325
+ constexpr NoescapeSynthesizer<S> _noescape (S sub) { return {sub}; }
323
326
324
327
inline ASTExtInfo synthesizeExtInfo (SynthesisContext &SC,
325
328
FunctionRepresentationSynthesizer kind) {
@@ -340,6 +343,11 @@ ASTExtInfo synthesizeExtInfo(SynthesisContext &SC,
340
343
const AsyncSynthesizer<S> &s) {
341
344
return synthesizeExtInfo (SC, s.sub ).withAsync ();
342
345
}
346
+ template <class S >
347
+ ASTExtInfo synthesizeExtInfo (SynthesisContext &SC,
348
+ const NoescapeSynthesizer<S> &s) {
349
+ return synthesizeExtInfo (SC, s.sub ).withNoEscape ();
350
+ }
343
351
344
352
// / Synthesize a function type.
345
353
template <class ExtInfoS , class ResultS , class ParamsS >
You can’t perform that action at this time.
0 commit comments