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