bevyengine/bevy · error
attempted to call `TypeRegistry::register_type_conversion` f
Error message
attempted to call `TypeRegistry::register_type_conversion` for type `{U}` without registering `{U}` first What it means
Panic in TypeRegistry::register_type_conversion: the target type U of the conversion was not registered in the registry before calling this method. Register both T and U (e.g. registry.register::<U>()) before registering the conversion function.
Source
Thrown at crates/bevy_reflect/src/type_registry.rs:402
/// the input value, wrapped in an `Err` variant.
///
/// # Example
/// ```
/// # use bevy_reflect::TypeRegistry;
///
/// let mut type_registry = TypeRegistry::default();
/// type_registry.register::<i32>();
/// type_registry.register::<String>();
/// type_registry.register_type_conversion::<i32, String, _>(|n| Ok(n.to_string()));
/// ```
pub fn register_type_conversion<T, U, F>(&mut self, function: F)
where
T: Reflect + TypePath,
U: Reflect + TypePath,
F: Fn(T) -> Result<U, T> + Clone + Send + Sync + 'static,
{
let data = self.get_mut(TypeId::of::<U>()).unwrap_or_else(|| {
panic!(
"attempted to call `TypeRegistry::register_type_conversion` for type `{U}` without registering `{U}` first",
U = U::type_path(),
)
});
data.get_or_insert_data_with(ReflectConvert::default)
.register_type_conversion(function);
}
/// Given types T and U, where `U: From<T>`, registers that conversion with
/// the reflection system.
///
/// # Example
/// ```
/// # use bevy_reflect::TypeRegistry;
///
/// let mut type_registry = TypeRegistry::default();
/// type_registry.register::<u8>();
/// type_registry.register::<u32>();View on GitHub (pinned to 396ca72708)
Solutions
- Call registry.register::<U>() before register_type_conversion
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/bevy_reflect/src/type_registry.rs:402 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/a2928998c4819a1d.
Report an issue: GitHub.