blob: 150c70770ae51e69d1627326c5e898707aa7c911 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
// run-pass
#![feature(const_generics)]
#![feature(const_generics_defaults)]
#![allow(incomplete_features)]
pub struct ConstDefault<const N: usize = 3>;
impl<const N: usize> ConstDefault<N> {
fn foo(self) -> usize {
N
}
}
impl ConstDefault {
fn new() -> Self {
ConstDefault
}
fn bar(self) {}
}
pub fn main() {
let s = ConstDefault::new();
assert_eq!(s.foo(), 3);
let w = ConstDefault::<3>;
w.bar();
}
|