enumstd.builtin.CallModifier[src]

This data structure is used by the Zig language code generation and therefore must be kept in sync with the compiler implementation.

Fields

auto

Equivalent to function call syntax.

async_kw

Equivalent to async keyword used with function call syntax.

never_tail

Prevents tail call optimization. This guarantees that the return address will point to the callsite, as opposed to the callsite's callsite. If the call is otherwise required to be tail-called or inlined, a compile error is emitted instead.

never_inline

Guarantees that the call will not be inlined. If the call is otherwise required to be inlined, a compile error is emitted instead.

no_async

Asserts that the function call will not suspend. This allows a non-async function to call an async function.

always_tail

Guarantees that the call will be generated with tail call optimization. If this is not possible, a compile error is emitted instead.

always_inline

Guarantees that the call will be inlined at the callsite. If this is not possible, a compile error is emitted instead.

compile_time

Evaluates the call at compile-time. If the call cannot be completed at compile-time, a compile error is emitted instead.

Source Code

Source code
pub const CallModifier = enum {
    /// Equivalent to function call syntax.
    auto,

    /// Equivalent to async keyword used with function call syntax.
    async_kw,

    /// Prevents tail call optimization. This guarantees that the return
    /// address will point to the callsite, as opposed to the callsite's
    /// callsite. If the call is otherwise required to be tail-called
    /// or inlined, a compile error is emitted instead.
    never_tail,

    /// Guarantees that the call will not be inlined. If the call is
    /// otherwise required to be inlined, a compile error is emitted instead.
    never_inline,

    /// Asserts that the function call will not suspend. This allows a
    /// non-async function to call an async function.
    no_async,

    /// Guarantees that the call will be generated with tail call optimization.
    /// If this is not possible, a compile error is emitted instead.
    always_tail,

    /// Guarantees that the call will be inlined at the callsite.
    /// If this is not possible, a compile error is emitted instead.
    always_inline,

    /// Evaluates the call at compile-time. If the call cannot be completed at
    /// compile-time, a compile error is emitted instead.
    compile_time,
}