From ba5882289dd252ed20d5bfa3c6209e95a560b5e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lena=20Miliz=C3=A9?= Date: Mon, 24 Oct 2022 14:53:16 +0000 Subject: [PATCH] document insert_non_send_resource panics (#6328) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lena Milizé # Objective Fixes #6277. ## Solution Adds `# Panics` section to [`fn insert_non_send_resource`](http://dev-docs.bevyengine.org/bevy/ecs/world/struct.World.html#method.insert_non_send_resource) documentation, which explains that it panics when called from thread other than main thread. --- crates/bevy_ecs/src/world/mod.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/bevy_ecs/src/world/mod.rs b/crates/bevy_ecs/src/world/mod.rs index 0a14e5e1405de..bb7299195d57f 100644 --- a/crates/bevy_ecs/src/world/mod.rs +++ b/crates/bevy_ecs/src/world/mod.rs @@ -750,6 +750,10 @@ impl World { /// The value given by the [`FromWorld::from_world`] method will be used. /// Note that any resource with the `Default` trait automatically implements `FromWorld`, /// and those default values will be here instead. + /// + /// # Panics + /// + /// Panics if called from a thread other than the main thread. #[inline] pub fn init_non_send_resource(&mut self) { if !self.contains_resource::() { @@ -763,6 +767,10 @@ impl World { /// `NonSend` resources cannot be sent across threads, /// and do not need the `Send + Sync` bounds. /// Systems with `NonSend` resources are always scheduled on the main thread. + /// + /// # Panics + /// + /// Panics if called from a thread other than the main thread. #[inline] pub fn insert_non_send_resource(&mut self, value: R) { self.validate_non_send_access::();