bevyengine/bevy · error · FunctionOverloadError

expected at least one `SignatureInfo` but found none

Error message

expected at least one `SignatureInfo` but found none

What it means

FunctionOverloadError::MissingSignature — attempting to register a function overload produced no SignatureInfo (e.g. the callable yielded no signature information), so nothing can be registered. Ensure the function has a valid, inferable signature.

Source

Thrown at crates/bevy_reflect/src/func/error.rs:52

    },
}

/// The result of calling a [`DynamicFunction`] or [`DynamicFunctionMut`].
///
/// Returns `Ok(value)` if the function was called successfully,
/// where `value` is the [`Return`] value of the function.
///
/// [`DynamicFunction`]: crate::func::DynamicFunction
/// [`DynamicFunctionMut`]: crate::func::DynamicFunctionMut
pub type FunctionResult<'a> = Result<Return<'a>, FunctionError>;

/// An error that occurs when attempting to add a function overload.
#[derive(Debug, Error, PartialEq)]
pub enum FunctionOverloadError {
    /// A [`SignatureInfo`] was expected, but none was found.
    ///
    /// [`SignatureInfo`]: crate::func::info::SignatureInfo
    #[error("expected at least one `SignatureInfo` but found none")]
    MissingSignature,
    /// An error that occurs when attempting to add a function overload with a duplicate signature.
    #[error("could not add function overload: duplicate found for signature `{0:?}`")]
    DuplicateSignature(ArgumentSignature),
    /// An attempt was made to add an overload with more than [`ArgCount::MAX_COUNT`] arguments.
    ///
    /// [`ArgCount::MAX_COUNT`]: crate::func::args::ArgCount
    #[error(
        "argument signature `{:?}` has too many arguments (max {})",
        0,
        ArgCount::MAX_COUNT
    )]
    TooManyArguments(ArgumentSignature),
}

/// An error that occurs when registering a function into a [`FunctionRegistry`].
///
/// [`FunctionRegistry`]: crate::func::FunctionRegistry

View on GitHub (pinned to 396ca72708)

Solutions

  1. Ensure the function passed as an overload provides signature information
  2. Build the overload from an IntoFunction closure so a signature is derived
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/bevy_reflect/src/func/error.rs:52 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of bevyengine/bevy@396ca72708 (2026-08-20). Data as JSON: /api/errors/44b7c6efdca96b47. Report an issue: GitHub.