core/
contracts.rs
1#![cfg(not(bootstrap))]
3
4pub use crate::macros::builtin::{contracts_ensures as ensures, contracts_requires as requires};
5
6#[unstable(feature = "contracts_internals", issue = "128044" )]
10#[lang = "contract_build_check_ensures"]
11#[track_caller]
12pub fn build_check_ensures<Ret, C>(cond: C) -> impl (Fn(Ret) -> Ret) + Copy
13where
14 C: for<'a> Fn(&'a Ret) -> bool + Copy + 'static,
15{
16 #[track_caller]
17 move |ret| {
18 crate::intrinsics::contract_check_ensures(&ret, cond);
19 ret
20 }
21}