File tree Expand file tree Collapse file tree 6 files changed +85
-32
lines changed Expand file tree Collapse file tree 6 files changed +85
-32
lines changed Load Diff This file was deleted.
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1+ // This test previous triggered an assertion that there are no inference variables
2+ // returned by `wf::obligations`. Overflow when normalizing
3+ // `Self: Iterator<Item = <Self as Iterator>::Item>` resulted in overflow which then
4+ // caused us to return an infer var.
5+ //
6+ // This assert has now been removed.
7+ #![ feature( min_specialization, rustc_attrs) ]
8+
9+ #[ rustc_specialization_trait]
10+ pub trait Trait { }
11+
12+ struct Struct
13+ //~^ ERROR overflow evaluating the requirement `<Struct as Iterator>::Item == _`
14+ where
15+ Self : Iterator < Item = <Self as Iterator >:: Item > , { }
16+
17+ impl Trait for Struct { }
18+ //~^ ERROR `Struct` is not an iterator
19+
20+ fn main ( ) { }
Original file line number Diff line number Diff line change 1+ error[E0275]: overflow evaluating the requirement `<Struct as Iterator>::Item == _`
2+ --> $DIR/fuzzing-ice-102252.rs:12:1
3+ |
4+ LL | struct Struct
5+ | ^^^^^^^^^^^^^
6+
7+ error[E0277]: `Struct` is not an iterator
8+ --> $DIR/fuzzing-ice-102252.rs:17:16
9+ |
10+ LL | impl Trait for Struct {}
11+ | ^^^^^^ `Struct` is not an iterator
12+ |
13+ = help: the trait `Iterator` is not implemented for `Struct`
14+ note: required by a bound in `Struct`
15+ --> $DIR/fuzzing-ice-102252.rs:15:11
16+ |
17+ LL | struct Struct
18+ | ------ required by a bound in this struct
19+ ...
20+ LL | Self: Iterator<Item = <Self as Iterator>::Item>, {}
21+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Struct`
22+
23+ error: aborting due to 2 previous errors
24+
25+ Some errors have detailed explanations: E0275, E0277.
26+ For more information about an error, try `rustc --explain E0275`.
Original file line number Diff line number Diff line change 1+ // This test previous triggered an assertion that there are no inference variables
2+ // returned by `wf::obligations`. We ended up with an infer var as we failed to
3+ // normalize `R::Elem`.
4+ //
5+ // This assert has now been removed.
6+ #![ feature( min_specialization) ]
7+
8+ trait Trait { }
9+
10+ impl < T > Trait for T { }
11+
12+ trait Data {
13+ type Elem ;
14+ }
15+
16+ struct DatasetIter < ' a , R : Data > {
17+ data : & ' a R :: Elem ,
18+ }
19+
20+ pub struct ArrayBase { }
21+
22+ impl < ' a > Trait for DatasetIter < ' a , ArrayBase > { }
23+ //~^ ERROR specialization impl does not specialize any associated items
24+
25+ fn main ( ) { }
Original file line number Diff line number Diff line change 1+ error: specialization impl does not specialize any associated items
2+ --> $DIR/fuzzing-ice-126268.rs:22:1
3+ |
4+ LL | impl<'a> Trait for DatasetIter<'a, ArrayBase> {}
5+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6+ |
7+ note: impl is a specialization of this impl
8+ --> $DIR/fuzzing-ice-126268.rs:10:1
9+ |
10+ LL | impl<T> Trait for T {}
11+ | ^^^^^^^^^^^^^^^^^^^
12+
13+ error: aborting due to 1 previous error
14+
You can’t perform that action at this time.
0 commit comments