{"record":{"id":"7553ebe654e1d1f5","repo":"bevyengine/bevy","slug":"no-such-file","errorCode":null,"errorMessage":"no such file","messagePattern":"no such file","errorType":"exception","errorClass":"AssetWriterError::Io","httpStatus":null,"severity":"error","filePath":"crates/bevy_asset/src/io/memory.rs","lineNumber":510,"sourceCode":"            is_meta_writer: false,\n        }))\n    }\n\n    async fn write_meta<'a>(\n        &'a self,\n        path: &'a Path,\n    ) -> Result<Box<super::Writer>, AssetWriterError> {\n        Ok(Box::new(DataWriter {\n            dir: self.root.clone(),\n            path: path.to_owned(),\n            current_data: vec![],\n            is_meta_writer: true,\n        }))\n    }\n\n    async fn remove<'a>(&'a self, path: &'a Path) -> Result<(), AssetWriterError> {\n        if self.root.remove_asset(path).is_none() {\n            return Err(AssetWriterError::Io(Error::new(\n                ErrorKind::NotFound,\n                \"no such file\",\n            )));\n        }\n        Ok(())\n    }\n\n    async fn remove_meta<'a>(&'a self, path: &'a Path) -> Result<(), AssetWriterError> {\n        self.root.remove_metadata(path);\n        Ok(())\n    }\n\n    async fn rename<'a>(\n        &'a self,\n        old_path: &'a Path,\n        new_path: &'a Path,\n    ) -> Result<(), AssetWriterError> {\n        let Some(old_asset) = self.root.get_asset(old_path) else {","sourceCodeStart":492,"sourceCodeEnd":528,"githubUrl":"https://github.com/bevyengine/bevy/blob/396ca727080776bd313bb892423b7d94e03b81b4/crates/bevy_asset/src/io/memory.rs#L492-L528","documentation":"AssetWriterError::Io with ErrorKind::NotFound and message 'no such file', returned by the in-memory DirectoryInfo::remove_asset-backed writer when removing an asset that does not exist in the in-memory asset dir. The memory source behaves like a filesystem that is missing the file.","triggerScenarios":"Thrown at crates/bevy_asset/src/io/memory.rs:510 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the asset exists (or track prior writes) before calling remove on the memory writer","Match the exact path previously used to write the asset","Treat NotFound on remove as an idempotent no-op if deletion semantics allow it"],"exampleFix":null,"handlingStrategy":"validation","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-14T00:17:10.932Z"}