2021-07-28 11:34:19 -05:00
|
|
|
// test for https://github.com/rust-lang/rust/issues/86940
|
|
|
|
// run-rustfix
|
|
|
|
// edition:2018
|
|
|
|
// check-pass
|
|
|
|
#![warn(rust_2021_prelude_collisions)]
|
|
|
|
#![allow(dead_code)]
|
|
|
|
#![allow(unused_imports)]
|
|
|
|
|
2021-08-30 12:02:29 -05:00
|
|
|
struct Generic<'a, U>(&'a U);
|
2021-07-28 11:34:19 -05:00
|
|
|
|
|
|
|
trait MyFromIter {
|
|
|
|
fn from_iter(_: i32) -> Self;
|
|
|
|
}
|
|
|
|
|
2021-08-30 12:02:29 -05:00
|
|
|
impl MyFromIter for Generic<'static, i32> {
|
|
|
|
fn from_iter(_: i32) -> Self {
|
|
|
|
todo!()
|
2021-07-28 11:34:19 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-08-30 12:02:29 -05:00
|
|
|
impl std::iter::FromIterator<i32> for Generic<'static, i32> {
|
2021-07-28 11:34:19 -05:00
|
|
|
fn from_iter<T: IntoIterator<Item = i32>>(_: T) -> Self {
|
|
|
|
todo!()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
2021-08-30 12:02:29 -05:00
|
|
|
<Generic<'_, _> as MyFromIter>::from_iter(1);
|
2021-07-28 11:34:19 -05:00
|
|
|
//~^ WARNING trait-associated function `from_iter` will become ambiguous in Rust 2021
|
|
|
|
//~| this is accepted in the current edition (Rust 2018)
|
2021-08-30 12:02:29 -05:00
|
|
|
<Generic::<'static, i32> as MyFromIter>::from_iter(1);
|
2021-07-28 11:34:19 -05:00
|
|
|
//~^ WARNING trait-associated function `from_iter` will become ambiguous in Rust 2021
|
|
|
|
//~| this is accepted in the current edition (Rust 2018)
|
2021-08-30 12:02:29 -05:00
|
|
|
<Generic::<'_, _> as MyFromIter>::from_iter(1);
|
2021-07-28 11:34:19 -05:00
|
|
|
//~^ WARNING trait-associated function `from_iter` will become ambiguous in Rust 2021
|
|
|
|
//~| this is accepted in the current edition (Rust 2018)
|
|
|
|
}
|