]> git.lizzy.rs Git - rust.git/blob - src/test/ui/const-generics/issue-70180-1-stalled_on.rs
Auto merge of #75163 - canova:map_into_keys_values, r=dtolnay
[rust.git] / src / test / ui / const-generics / issue-70180-1-stalled_on.rs
1 // build-pass
2 #![feature(const_generics)]
3 #![allow(incomplete_features)]
4
5 pub fn works() {
6     let array/*: [_; _]*/ = default_array();
7     let _: [_; 4] = array;
8     Foo::foo(&array);
9 }
10
11 pub fn didnt_work() {
12     let array/*: [_; _]*/ = default_array();
13     Foo::foo(&array);
14     let _: [_; 4] = array;
15 }
16
17 trait Foo {
18     fn foo(&self) {}
19 }
20
21 impl Foo for [i32; 4] {}
22 impl Foo for [i64; 8] {}
23
24 // Only needed because `[_; _]` is not valid type syntax.
25 fn default_array<T, const N: usize>() -> [T; N]
26 where
27     [T; N]: Default,
28 {
29     Default::default()
30 }
31
32 fn main() {
33     works();
34     didnt_work();
35 }