rust/tests/ui/rust-2021/future-prelude-collision-generic.fixed

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

38 lines
1.1 KiB
Rust
Raw Normal View History

// 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 17:02:29 +00:00
struct Generic<'a, U>(&'a U);
trait MyFromIter {
fn from_iter(_: i32) -> Self;
}
2021-08-30 17:02:29 +00:00
impl MyFromIter for Generic<'static, i32> {
fn from_iter(_: i32) -> Self {
todo!()
}
}
2021-08-30 17:02:29 +00:00
impl std::iter::FromIterator<i32> for Generic<'static, i32> {
fn from_iter<T: IntoIterator<Item = i32>>(_: T) -> Self {
todo!()
}
}
fn main() {
2021-08-30 17:02:29 +00:00
<Generic<'_, _> as MyFromIter>::from_iter(1);
//~^ WARNING trait-associated function `from_iter` will become ambiguous in Rust 2021
//~| this is accepted in the current edition (Rust 2018)
2021-08-30 17:02:29 +00:00
<Generic::<'static, i32> as MyFromIter>::from_iter(1);
//~^ WARNING trait-associated function `from_iter` will become ambiguous in Rust 2021
//~| this is accepted in the current edition (Rust 2018)
2021-08-30 17:02:29 +00:00
<Generic::<'_, _> as MyFromIter>::from_iter(1);
//~^ WARNING trait-associated function `from_iter` will become ambiguous in Rust 2021
//~| this is accepted in the current edition (Rust 2018)
}