master
1pub const CallModifier = enum {
2 /// Equivalent to function call syntax.
3 auto,
4
5 /// Equivalent to async keyword used with function call syntax.
6 async_kw,
7
8 /// Prevents tail call optimization. This guarantees that the return
9 /// address will point to the callsite, as opposed to the callsite's
10 /// callsite. If the call is otherwise required to be tail-called
11 /// or inlined, a compile error is emitted instead.
12 never_tail,
13
14 /// Guarantees that the call will not be inlined. If the call is
15 /// otherwise required to be inlined, a compile error is emitted instead.
16 never_inline,
17
18 /// Asserts that the function call will not suspend. This allows a
19 /// non-async function to call an async function.
20 no_async,
21
22 /// Guarantees that the call will be generated with tail call optimization.
23 /// If this is not possible, a compile error is emitted instead.
24 always_tail,
25
26 /// Guarantees that the call will be inlined at the callsite.
27 /// If this is not possible, a compile error is emitted instead.
28 always_inline,
29
30 /// Evaluates the call at compile-time. If the call cannot be completed at
31 /// compile-time, a compile error is emitted instead.
32 compile_time,
33};
34
35// syntax