diff --git a/crates/bevy_app/src/resources.rs b/crates/bevy_app/src/resources.rs index 9f16abd5bf..324b0c5cc3 100644 --- a/crates/bevy_app/src/resources.rs +++ b/crates/bevy_app/src/resources.rs @@ -2,14 +2,14 @@ use crate::{EventReader, GetEventReader}; use legion::prelude::Resources; pub trait FromResources { - fn from_resources(resources: &mut Resources) -> Self; + fn from_resources(resources: &Resources) -> Self; } impl FromResources for T where T: Default, { - default fn from_resources(_resources: &mut Resources) -> Self { + default fn from_resources(_resources: &Resources) -> Self { Self::default() } } @@ -18,7 +18,7 @@ impl FromResources for EventReader where T: Send + Sync + 'static, { - fn from_resources(resources: &mut Resources) -> Self { + fn from_resources(resources: &Resources) -> Self { resources.get_event_reader::() } } diff --git a/crates/bevy_derive/src/lib.rs b/crates/bevy_derive/src/lib.rs index e051826ae3..419e553580 100644 --- a/crates/bevy_derive/src/lib.rs +++ b/crates/bevy_derive/src/lib.rs @@ -143,7 +143,7 @@ pub fn derive_resource(input: TokenStream) -> TokenStream { TokenStream::from(quote! { impl #impl_generics #bevy_app_path::FromResources for #struct_name#ty_generics { - fn from_resources(resources: &mut Resources) -> Self { + fn from_resources(resources: &Resources) -> Self { use #bevy_app_path::FromResources; #struct_name { #(#fields: <#field_types>::from_resources(resources),)*