{"record":{"id":"4336dfb8f5fa0961","repo":"bevyengine/bevy","slug":"type-path-cannot-be-made-cloneable-for-partia","errorCode":null,"errorMessage":"`{type_path}` cannot be made cloneable for `PartialReflect::reflect_clone`","messagePattern":"`(.+?)` cannot be made cloneable for `PartialReflect::reflect_clone`","errorType":"exception","errorClass":"ReflectCloneError","httpStatus":null,"severity":"error","filePath":"crates/bevy_reflect/src/error.rs","lineNumber":23,"sourceCode":"/// An error that occurs when cloning a type via [`PartialReflect::reflect_clone`].\n///\n/// [`PartialReflect::reflect_clone`]: crate::PartialReflect::reflect_clone\n#[derive(Clone, Debug, Error, PartialEq, Eq)]\npub enum ReflectCloneError {\n    /// The type does not have a custom implementation for [`PartialReflect::reflect_clone`].\n    ///\n    /// [`PartialReflect::reflect_clone`]: crate::PartialReflect::reflect_clone\n    #[error(\"`PartialReflect::reflect_clone` not implemented for `{type_path}`\")]\n    NotImplemented {\n        /// The fully qualified path of the type that [`PartialReflect::reflect_clone`](crate::PartialReflect::reflect_clone) is not implemented for.\n        type_path: Cow<'static, str>,\n    },\n    /// The type cannot be cloned via [`PartialReflect::reflect_clone`].\n    ///\n    /// This type should be returned when a type is intentionally opting out of reflection cloning.\n    ///\n    /// [`PartialReflect::reflect_clone`]: crate::PartialReflect::reflect_clone\n    #[error(\"`{type_path}` cannot be made cloneable for `PartialReflect::reflect_clone`\")]\n    NotCloneable {\n        /// The fully qualified path of the type that cannot be cloned via [`PartialReflect::reflect_clone`](crate::PartialReflect::reflect_clone).\n        type_path: Cow<'static, str>,\n    },\n    /// The field cannot be cloned via [`PartialReflect::reflect_clone`].\n    ///\n    /// When [deriving `Reflect`], this usually means that a field marked with `#[reflect(ignore)]`\n    /// is missing a `#[reflect(clone)]` attribute.\n    ///\n    /// This may be intentional if the field is not meant/able to be cloned.\n    ///\n    /// [`PartialReflect::reflect_clone`]: crate::PartialReflect::reflect_clone\n    /// [deriving `Reflect`]: derive@crate::Reflect\n    #[error(\n        \"field `{}` cannot be made cloneable for `PartialReflect::reflect_clone` (are you missing a `#[reflect(clone)]` attribute?)\",\n        full_path(.field, .variant.as_deref(), .container_type_path)\n    )]\n    FieldNotCloneable {","sourceCodeStart":5,"sourceCodeEnd":41,"githubUrl":"https://github.com/bevyengine/bevy/blob/396ca727080776bd313bb892423b7d94e03b81b4/crates/bevy_reflect/src/error.rs#L5-L41","documentation":"ReflectCloneError::NotCloneable — the named type cannot be made cloneable for reflect_clone at all (its underlying Rust type does not implement Clone or a clone function cannot be provided). Rework the type or avoid cloning it via reflection.","triggerScenarios":"Thrown at crates/bevy_reflect/src/error.rs:23 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Make the underlying fields Clone","Add #[reflect(clone)] where required on fields","Avoid reflect_clone for this type and clone through the concrete type"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"396ca727080776bd313bb892423b7d94e03b81b4","analyzedAt":"2026-08-20T16:12:39.808Z","contentChangedAt":"2026-08-20T16:12:39.808Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}