bevyengine/bevy · error
no `TypeInfo` found for argument: {:?}
Error message
no `TypeInfo` found for argument: {:?} What it means
Panic in ArgListSignature::iter (signature computation for overload lookup): one of the arguments' values has no represented type (get_represented_type_info returned None), typically an untyped DynamicType value, so its Type cannot be determined. Ensure arguments carry represented type info.
Source
Thrown at crates/bevy_reflect/src/func/signature.rs:81
/// A wrapper around a borrowed [`ArgList`] that can be used as an
/// [equivalent] of an [`ArgumentSignature`].
///
/// [equivalent]: Equivalent
pub(super) struct ArgListSignature<'a, 'b>(&'a ArgList<'b>);
impl Equivalent<ArgumentSignature> for ArgListSignature<'_, '_> {
fn equivalent(&self, key: &ArgumentSignature) -> bool {
self.len() == key.len() && self.iter().eq(key.iter())
}
}
impl<'a, 'b> ArgListSignature<'a, 'b> {
pub fn iter(&self) -> impl ExactSizeIterator<Item = &Type> {
self.0.iter().map(|arg| {
arg.value()
.get_represented_type_info()
.unwrap_or_else(|| {
panic!("no `TypeInfo` found for argument: {:?}", arg);
})
.ty()
})
}
pub fn len(&self) -> usize {
self.0.len()
}
}
impl Eq for ArgListSignature<'_, '_> {}
impl PartialEq for ArgListSignature<'_, '_> {
fn eq(&self, other: &Self) -> bool {
self.len() == other.len() && self.iter().eq(other.iter())
}
}
View on GitHub (pinned to 396ca72708)
Solutions
- Ensure every argument type implements Typed/Reflect so TypeInfo exists
- Register the argument types in the type registry before calling
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/bevy_reflect/src/func/signature.rs:81 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/0913676d92533562.
Report an issue: GitHub.