From 95f091693f7d7c2613e5a7980989dff37dc3b18b Mon Sep 17 00:00:00 2001 From: tiif Date: Sun, 21 Jul 2024 21:42:10 +0800 Subject: [PATCH] Add test --- tests/ui/mir/ice-mir-const-qualif-125837.rs | 17 ++++++++ .../ui/mir/ice-mir-const-qualif-125837.stderr | 41 +++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 tests/ui/mir/ice-mir-const-qualif-125837.rs create mode 100644 tests/ui/mir/ice-mir-const-qualif-125837.stderr diff --git a/tests/ui/mir/ice-mir-const-qualif-125837.rs b/tests/ui/mir/ice-mir-const-qualif-125837.rs new file mode 100644 index 00000000000..a0f57caaba4 --- /dev/null +++ b/tests/ui/mir/ice-mir-const-qualif-125837.rs @@ -0,0 +1,17 @@ +// Test for ICE: mir_const_qualif: index out of bounds: the len is 0 but the index is 0 +// https://github.com/rust-lang/rust/issues/125837 + +use std::fmt::Debug; + +trait Foo {} + +impl Foo for D { +//~^ ERROR missing generics for trait `Foo` + fn foo<'a>(&'a self) -> impl Debug { + //~^ ERROR method `foo` is not a member of trait `Foo` + const { return } +//~^ ERROR return statement outside of function body + } +} + +pub fn main() {} diff --git a/tests/ui/mir/ice-mir-const-qualif-125837.stderr b/tests/ui/mir/ice-mir-const-qualif-125837.stderr new file mode 100644 index 00000000000..003b327210b --- /dev/null +++ b/tests/ui/mir/ice-mir-const-qualif-125837.stderr @@ -0,0 +1,41 @@ +error[E0407]: method `foo` is not a member of trait `Foo` + --> $DIR/ice-mir-const-qualif-125837.rs:10:5 + | +LL | / fn foo<'a>(&'a self) -> impl Debug { +LL | | +LL | | const { return } +LL | | +LL | | } + | |_____^ not a member of trait `Foo` + +error[E0107]: missing generics for trait `Foo` + --> $DIR/ice-mir-const-qualif-125837.rs:8:30 + | +LL | impl Foo for D { + | ^^^ expected 1 generic argument + | +note: trait defined here, with 1 generic parameter: `Item` + --> $DIR/ice-mir-const-qualif-125837.rs:6:7 + | +LL | trait Foo {} + | ^^^ ---- +help: add missing generic argument + | +LL | impl Foo for D { + | ++++++ + +error[E0572]: return statement outside of function body + --> $DIR/ice-mir-const-qualif-125837.rs:12:17 + | +LL | / fn foo<'a>(&'a self) -> impl Debug { +LL | | +LL | | const { return } + | | --^^^^^^-- the return is part of this body... +LL | | +LL | | } + | |_____- ...not the enclosing function body + +error: aborting due to 3 previous errors + +Some errors have detailed explanations: E0107, E0407, E0572. +For more information about an error, try `rustc --explain E0107`.