error[E0379]: functions in traits cannot be declared const --> $DIR/issue-54954.rs:5:5 | LL | const fn const_val() -> usize { | ^^^^^ functions in traits cannot be const error[E0283]: type annotations needed --> $DIR/issue-54954.rs:1:24 | LL | const ARR_LEN: usize = Tt::const_val::<[i8; 123]>(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type | = note: cannot satisfy `_: Tt` error: aborting due to 2 previous errors Some errors have detailed explanations: E0283, E0379. For more information about an error, try `rustc --explain E0283`.