]> git.proxmox.com Git - rustc.git/blame - src/test/ui/const-generics/type-dependent/issue-67144-1.rs
New upstream version 1.51.0+dfsg1
[rustc.git] / src / test / ui / const-generics / type-dependent / issue-67144-1.rs
CommitLineData
3dfed10e 1// check-pass
1b1a35ee
XL
2// revisions: full min
3#![cfg_attr(full, feature(const_generics))]
4#![cfg_attr(full, allow(incomplete_features))]
3dfed10e
XL
5
6struct X;
7
8impl X {
9 pub fn getn<const N: usize>(&self) -> [u8; N] {
10 getn::<N>()
11 }
12}
13
14fn getn<const N: usize>() -> [u8; N] {
15 unsafe {
16 std::mem::zeroed()
17 }
18}
19
20fn main() {
21 // works
22 let [a,b,c] = getn::<3>();
23
24 // cannot pattern-match on an array without a fixed length
25 let [a,b,c] = X.getn::<3>();
26
27 // mismatched types, expected array `[u8; 3]` found array `[u8; _]`
28 let arr: [u8; 3] = X.getn::<3>();
29}