@@ -3410,6 +3410,7 @@ pub const fn contract_checks() -> bool {
3410
3410
// doesn't honor `#[allow_internal_unstable]`, so for the const feature gate we use the user-facing
3411
3411
// `contracts` feature rather than the perma-unstable `contracts_internals`
3412
3412
#[ rustc_const_unstable( feature = "contracts" , issue = "128044" ) ]
3413
+ #[ miri:: intrinsic_fallback_is_spec]
3413
3414
#[ lang = "contract_check_requires" ]
3414
3415
#[ rustc_intrinsic]
3415
3416
pub const fn contract_check_requires < C : Fn ( ) -> bool + Copy > ( cond : C ) {
@@ -3438,6 +3439,7 @@ pub const fn contract_check_requires<C: Fn() -> bool + Copy>(cond: C) {
3438
3439
// `contracts` feature rather than the perma-unstable `contracts_internals`.
3439
3440
// Const-checking doesn't honor allow_internal_unstable logic used by contract expansion.
3440
3441
#[ rustc_const_unstable( feature = "contracts" , issue = "128044" ) ]
3442
+ #[ miri:: intrinsic_fallback_is_spec]
3441
3443
#[ lang = "contract_check_ensures" ]
3442
3444
#[ rustc_intrinsic]
3443
3445
pub const fn contract_check_ensures < C : Fn ( & Ret ) -> bool + Copy , Ret > ( cond : C , ret : Ret ) -> Ret {
@@ -3459,6 +3461,7 @@ pub const fn contract_check_ensures<C: Fn(&Ret) -> bool + Copy, Ret>(cond: C, re
3459
3461
/// This is the old version of contract_check_ensures kept here for bootstrap only.
3460
3462
#[ cfg( bootstrap) ]
3461
3463
#[ unstable( feature = "contracts_internals" , issue = "128044" /* compiler-team#759 */ ) ]
3464
+ #[ miri:: intrinsic_fallback_is_spec]
3462
3465
#[ rustc_intrinsic]
3463
3466
pub fn contract_check_ensures < ' a , Ret , C : Fn ( & ' a Ret ) -> bool > ( ret : & ' a Ret , cond : C ) {
3464
3467
if contract_checks ( ) && !cond ( ret) {
0 commit comments