diff options
Diffstat (limited to 'tests/ui/rust-2021/future-prelude-collision-macros.fixed')
-rw-r--r-- | tests/ui/rust-2021/future-prelude-collision-macros.fixed | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/ui/rust-2021/future-prelude-collision-macros.fixed b/tests/ui/rust-2021/future-prelude-collision-macros.fixed new file mode 100644 index 000000000..a97dc176e --- /dev/null +++ b/tests/ui/rust-2021/future-prelude-collision-macros.fixed @@ -0,0 +1,45 @@ +// run-rustfix +// edition:2018 +// check-pass +#![warn(rust_2021_prelude_collisions)] +#![allow(unreachable_code)] + +macro_rules! foo { + () => {{ + 123; + S + }}; +} + +trait MyTry<T> { + fn try_into(self, _: u8); +} + +struct S; + +impl MyTry<i32> for S { + fn try_into(self, _: u8) {} +} + +trait TryFromU8: Sized { + fn try_from(_: u8); +} + +impl TryFromU8 for u32 { + fn try_from(_: u8) {} +} + +macro_rules! bar { + () => { + u32 + }; +} + +fn main() { + MyTry::try_into(foo!(), todo!()); + //~^ WARNING trait method `try_into` will become ambiguous in Rust 2021 + //~| WARNING this is accepted in the current edition + <bar!() as TryFromU8>::try_from(0); + //~^ WARNING trait-associated function `try_from` will become ambiguous in Rust 2021 + //~| WARNING this is accepted in the current edition +} |