Skip to content

Commit

Permalink
Rollup merge of rust-lang#114629 - Enselic:uncomment-gat-code, r=comp…
Browse files Browse the repository at this point in the history
…iler-errors

tests: Uncomment now valid GAT code behind FIXME

The code fails to parse with `nightly-2021-02-05`:

    $ cargo +nightly-2021-02-05 build
    error: generic associated types in trait paths are currently not implemented
     --> src/main.rs:9:42
      |
    9 | fn _bar<T: for<'a> StreamingIterator<Item<'a> = &'a [i32]>>(_iter: T) { /* ... */
      |                                          ^^^^

but parses with `nightly-2021-02-06`:

    $ cargo +nightly-2021-02-06 build
    warning: the feature `generic_associated_types` is incomplete and may not be safe to use and/or cause compiler crashes
    warning: 1 warning emitted

because it was (with high probability) fixed by rust-lang#79554 which was merged within that nightly range.

This PR is part of rust-lang#44366 which is E-help-wanted.
  • Loading branch information
matthiaskrgr committed Aug 8, 2023
2 parents acf3791 + ff574b7 commit 61d7a4b
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions tests/ui/generic-associated-types/streaming_iterator.rs
Expand Up @@ -15,8 +15,7 @@ struct Foo<T: StreamingIterator + 'static> {

// Users can bound parameters by the type constructed by that trait's associated type constructor
// of a trait using HRTB. Both type equality bounds and trait bounds of this kind are valid:
//FIXME(#44265): This next line should parse and be valid
//fn foo<T: for<'a> StreamingIterator<Item<'a>=&'a [i32]>>(_iter: T) { /* ... */ }
fn _bar<T: for<'a> StreamingIterator<Item<'a>=&'a [i32]>>(_iter: T) { /* ... */ }
fn _foo<T>(_iter: T) where T: StreamingIterator, for<'a> T::Item<'a>: Display { /* ... */ }

// Full example of enumerate iterator
Expand Down

0 comments on commit 61d7a4b

Please sign in to comment.