23 lines
394 B
Rust
23 lines
394 B
Rust
![]() |
#![feature(min_const_generics)]
|
||
|
|
||
|
trait Usizer {
|
||
|
fn m(self) -> usize;
|
||
|
}
|
||
|
|
||
|
fn f<const N: usize>(u: impl Usizer) -> usize {
|
||
|
N + u.m()
|
||
|
}
|
||
|
|
||
|
struct Usizable;
|
||
|
|
||
|
impl Usizer for Usizable {
|
||
|
fn m(self) -> usize {
|
||
|
16
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fn main() {
|
||
|
assert_eq!(f::<4usize>(Usizable), 20usize);
|
||
|
//~^ ERROR cannot provide explicit generic arguments when `impl Trait` is used in argument position
|
||
|
}
|