//@ compile-flags: -Cdebuginfo=2 --crate-type=lib //@ build-pass #![feature(adt_const_params)] const N_ISLANDS: usize = 4; pub type Matrix = [[usize; N_ISLANDS]; N_ISLANDS]; const EMPTY_MATRIX: Matrix = [[0; N_ISLANDS]; N_ISLANDS]; const fn to_matrix() -> Matrix { EMPTY_MATRIX } const BRIDGE_MATRIX: [[usize; N_ISLANDS]; N_ISLANDS] = to_matrix(); pub struct Walk { _p: (), } impl Walk<0, BRIDGE_MATRIX> { pub const fn new() -> Self { Self { _p: () } } }