|  | 
| 39 | 39 | #![feature(generic_assert_internals)] | 
| 40 | 40 | #![feature(hasher_prefixfree_extras)] | 
| 41 | 41 | #![feature(hashmap_internals)] | 
| 42 |  | -#![feature(inline_const_pat)] | 
| 43 | 42 | #![feature(int_roundings)] | 
| 44 | 43 | #![feature(ip)] | 
| 45 | 44 | #![feature(ip_from)] | 
|  | 
| 95 | 94 | 
 | 
| 96 | 95 | /// Version of `assert_matches` that ignores fancy runtime printing in const context and uses structural equality. | 
| 97 | 96 | macro_rules! assert_eq_const_safe { | 
| 98 |  | -    ($left:expr, $right:expr) => { | 
| 99 |  | -        assert_eq_const_safe!($left, $right, concat!(stringify!($left), " == ", stringify!($right))); | 
|  | 97 | +    ($t:ty: $left:expr, $right:expr) => { | 
|  | 98 | +        assert_eq_const_safe!($t: $left, $right, concat!(stringify!($left), " == ", stringify!($right))); | 
| 100 | 99 |     }; | 
| 101 |  | -    ($left:expr, $right:expr$(, $($arg:tt)+)?) => { | 
|  | 100 | +    ($t:ty: $left:expr, $right:expr$(, $($arg:tt)+)?) => { | 
| 102 | 101 |         { | 
| 103 | 102 |             fn runtime() { | 
| 104 | 103 |                 assert_eq!($left, $right, $($($arg)*),*); | 
| 105 | 104 |             } | 
| 106 | 105 |             const fn compiletime() { | 
| 107 |  | -                assert!(matches!($left, const { $right })); | 
|  | 106 | +                const PAT: $t = $right; | 
|  | 107 | +                assert!(matches!($left, PAT), $($($arg)*),*); | 
| 108 | 108 |             } | 
| 109 | 109 |             core::intrinsics::const_eval_select((), compiletime, runtime) | 
| 110 | 110 |         } | 
|  | 
0 commit comments