Skip to content

Implement repetition for arrays#286

Merged
dtolnay merged 2 commits intomasterfrom
array
Dec 26, 2024
Merged

Implement repetition for arrays#286
dtolnay merged 2 commits intomasterfrom
array

Conversation

@dtolnay
Copy link
Owner

@dtolnay dtolnay commented Dec 26, 2024

No description provided.

    error[E0599]: the method `quote_into_iter` exists for struct `RepInterp<&[u8; 2]>`, but its trait bounds were not satisfied
       --> tests/test.rs:110:13
        |
    110 |     let _ = quote!(#(#(#array_of_array)*)*);
        |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method cannot be called on `RepInterp<&[u8; 2]>` due to unsatisfied trait bounds
        |
       ::: /git/quote/src/runtime.rs:158:1
        |
    158 | pub struct RepInterp<T>(pub T);
        | ----------------------- doesn't satisfy 5 bounds
        |
    note: there's an earlier shadowed binding `array_of_array` of type `[[u8; 2]; 2]` that has method `quote_into_iter` available
       --> tests/test.rs:109:9
        |
    109 |     let array_of_array: [[u8; 2]; 2] = [[0; 2]; 2];
        |         ^^^^^^^^^^^^^^ `array_of_array` of type `[[u8; 2]; 2]` that has method `quote_into_iter` defined earlier here
    110 |     let _ = quote!(#(#(#array_of_array)*)*);
        |             ------------------------------- earlier `array_of_array` shadowed here with type `RepInterp<&[u8; 2]>`
        = note: the following trait bounds were not satisfied:
                `RepInterp<&[u8; 2]>: Iterator`
                which is required by `RepInterp<&[u8; 2]>: ext::RepIteratorExt`
                `&RepInterp<&[u8; 2]>: Iterator`
                which is required by `&RepInterp<&[u8; 2]>: ext::RepIteratorExt`
                `RepInterp<&[u8; 2]>: quote::ToTokens`
                which is required by `RepInterp<&[u8; 2]>: ext::RepToTokensExt`
                `&[u8; 2]: ext::RepAsIteratorExt<'_>`
                which is required by `RepInterp<&[u8; 2]>: ext::RepAsIteratorExt<'_>`
                `&mut RepInterp<&[u8; 2]>: Iterator`
                which is required by `&mut RepInterp<&[u8; 2]>: ext::RepIteratorExt`
        = note: this error originates in the macro `$crate::quote_bind_into_iter` which comes from the expansion of the macro `quote` (in Nightly builds, run with -Z macro-backtrace for more info)
@dtolnay dtolnay merged commit d978c51 into master Dec 26, 2024
@dtolnay dtolnay deleted the array branch December 26, 2024 05:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant