2023-07-09 20:10:03 -05:00
|
|
|
// This is a regression test for issue #104400.
|
|
|
|
|
2024-03-20 19:03:59 -05:00
|
|
|
//@ run-rustfix
|
2023-07-09 20:10:03 -05:00
|
|
|
|
|
|
|
// Test that we can constrain generic const items that appear inside associated consts by
|
2024-03-20 19:03:59 -05:00
|
|
|
// adding a (makeshift) "evaluatable"-bound to the item, after applying the suggestion.
|
2023-07-09 20:10:03 -05:00
|
|
|
|
|
|
|
#![feature(generic_const_items, generic_const_exprs)]
|
|
|
|
#![allow(incomplete_features)]
|
|
|
|
|
|
|
|
trait Trait {
|
|
|
|
const LEN: usize;
|
|
|
|
|
2024-03-20 19:03:59 -05:00
|
|
|
const ARRAY: [i32; Self::LEN]; //~ ERROR unconstrained generic constant
|
2023-07-09 20:10:03 -05:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
impl Trait for () {
|
|
|
|
const LEN: usize = 2;
|
|
|
|
const ARRAY: [i32; Self::LEN] = [360, 720];
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let [_, _] = <() as Trait>::ARRAY;
|
|
|
|
}
|