// Regression test for issue #115720. // If a const item contains generic params from an outer items, only suggest // turning the const item generic if the feature `generic_const_items` is enabled. //@ revisions: default generic_const_items #![cfg_attr(generic_const_items, feature(generic_const_items))] #![feature(generic_const_exprs)] // only used for the test case "outer struct" #![allow(incomplete_features)] fn outer() { // outer function const K: u32 = T::C; //~^ ERROR can't use generic parameters from outer item //[generic_const_items]~| HELP try introducing a local generic parameter here } impl Tr for T { // outer impl block const C: u32 = { const I: u32 = T::C; //~^ ERROR can't use generic parameters from outer item //[generic_const_items]~| HELP try introducing a local generic parameter here I }; } struct S(U32<{ // outer struct const _: u32 = T::C; //~^ ERROR can't use generic parameters from outer item //[generic_const_items]~| HELP try introducing a local generic parameter here 0 }>); trait Tr { const C: u32; } struct U32; fn main() {}