From b92ed4e02b72454e6fae090a1ab5df1082087ca2 Mon Sep 17 00:00:00 2001 From: Tshepang Mbambo Date: Wed, 29 Oct 2025 19:52:26 +0200 Subject: [PATCH] reflect that type and const parameter can be intermixed Also, add reference id --- tests/ui/const-generics/argument_order.rs | 8 +++++--- tests/ui/const-generics/argument_order.stderr | 12 ++++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/tests/ui/const-generics/argument_order.rs b/tests/ui/const-generics/argument_order.rs index 196d9b8a1e210..f8980c9b54d75 100644 --- a/tests/ui/const-generics/argument_order.rs +++ b/tests/ui/const-generics/argument_order.rs @@ -1,15 +1,17 @@ -struct Bad { +//@ reference: items.generics.syntax.decl-order + +struct Good { arr: [u8; { N }], another: T, } -struct AlsoBad { +struct Bad { //~^ ERROR lifetime parameters must be declared prior a: &'a T, b: &'b U, } fn main() { - let _: AlsoBad<7, 'static, u32, 'static, 17, u16>; + let _: Bad<7, 'static, u32, 'static, 17, u16>; //~^ ERROR lifetime provided when a type was expected } diff --git a/tests/ui/const-generics/argument_order.stderr b/tests/ui/const-generics/argument_order.stderr index 99122c6f5e362..ef6d168d70429 100644 --- a/tests/ui/const-generics/argument_order.stderr +++ b/tests/ui/const-generics/argument_order.stderr @@ -1,14 +1,14 @@ error: lifetime parameters must be declared prior to type and const parameters - --> $DIR/argument_order.rs:6:32 + --> $DIR/argument_order.rs:8:28 | -LL | struct AlsoBad { - | -----------------^^-----^^-------------------- help: reorder the parameters: lifetimes, then consts and types: `<'a, 'b, const N: usize, T, const M: usize, U>` +LL | struct Bad { + | -----------------^^-----^^-------------------- help: reorder the parameters: lifetimes, then consts and types: `<'a, 'b, const N: usize, T, const M: usize, U>` error[E0747]: lifetime provided when a type was expected - --> $DIR/argument_order.rs:13:23 + --> $DIR/argument_order.rs:15:19 | -LL | let _: AlsoBad<7, 'static, u32, 'static, 17, u16>; - | ^^^^^^^ +LL | let _: Bad<7, 'static, u32, 'static, 17, u16>; + | ^^^^^^^ | = note: lifetime arguments must be provided before type arguments = help: reorder the arguments: lifetimes, then type and consts: `<'a, 'b, N, T, M, U>`