38 lines
1.1 KiB
Rust
38 lines
1.1 KiB
Rust
|
// 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)]
|
||
|
|
||
|
struct Generic<T, U>(T, U);
|
||
|
|
||
|
trait MyFromIter {
|
||
|
fn from_iter(_: i32) -> Self;
|
||
|
}
|
||
|
|
||
|
impl MyFromIter for Generic<i32, i32> {
|
||
|
fn from_iter(x: i32) -> Self {
|
||
|
Self(x, x)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
impl std::iter::FromIterator<i32> for Generic<i32, i32> {
|
||
|
fn from_iter<T: IntoIterator<Item = i32>>(_: T) -> Self {
|
||
|
todo!()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fn main() {
|
||
|
Generic::from_iter(1);
|
||
|
//~^ WARNING trait-associated function `from_iter` will become ambiguous in Rust 2021
|
||
|
//~| this is accepted in the current edition (Rust 2018)
|
||
|
Generic::<i32, i32>::from_iter(1);
|
||
|
//~^ WARNING trait-associated function `from_iter` will become ambiguous in Rust 2021
|
||
|
//~| this is accepted in the current edition (Rust 2018)
|
||
|
Generic::<_, _>::from_iter(1);
|
||
|
//~^ WARNING trait-associated function `from_iter` will become ambiguous in Rust 2021
|
||
|
//~| this is accepted in the current edition (Rust 2018)
|
||
|
}
|