diff --git a/crates/bevy_ecs/macros/src/lib.rs b/crates/bevy_ecs/macros/src/lib.rs index 3237ca64f5..7b1ab6b797 100644 --- a/crates/bevy_ecs/macros/src/lib.rs +++ b/crates/bevy_ecs/macros/src/lib.rs @@ -46,7 +46,7 @@ impl Parse for AllTuples { #[proc_macro] pub fn all_tuples(input: TokenStream) -> TokenStream { let input = parse_macro_input!(input as AllTuples); - let len = (input.start..=input.end).count(); + let len = input.end - input.start; let mut ident_tuples = Vec::with_capacity(len); for i in input.start..=input.end { let idents = input @@ -66,7 +66,7 @@ pub fn all_tuples(input: TokenStream) -> TokenStream { let macro_ident = &input.macro_ident; let invocations = (input.start..=input.end).map(|i| { - let ident_tuples = &ident_tuples[0..i]; + let ident_tuples = &ident_tuples[0..i - input.start]; quote! { #macro_ident!(#(#ident_tuples),*); }