| //@ run-pass | |
| #![feature(generic_const_exprs)] | |
| #![allow(incomplete_features)] | |
| fn callee<const M2: usize>() -> usize | |
| where | |
| [u8; M2 + 1]: Sized, | |
| { | |
| M2 | |
| } | |
| fn caller<const N1: usize>() -> usize | |
| where | |
| [u8; N1 + 1]: Sized, | |
| [u8; (N1 + 1) + 1]: Sized, | |
| { | |
| callee::<{ N1 + 1 }>() | |
| } | |
| fn main() { | |
| assert_eq!(caller::<4>(), 5); | |
| } | |
| // Test that the ``(N1 + 1) + 1`` bound on ``caller`` satisfies the ``M2 + 1`` bound on ``callee`` |