1+ use std:: sync:: Arc ;
2+
13use thin_vec:: thin_vec;
24
35use crate :: LoweringContext ;
@@ -118,9 +120,9 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
118120 let req_span = self . mark_span_with_reason (
119121 rustc_span:: DesugaringKind :: Contract ,
120122 lowered_req. span ,
121- None ,
123+ Some ( Arc :: clone ( & self . allow_contracts ) ) ,
122124 ) ;
123- let precond = self . expr_call_lang_item_qpath_fn_mut (
125+ let precond = self . expr_call_lang_item_fn_mut (
124126 req_span,
125127 rustc_hir:: LangItem :: ContractCheckRequires ,
126128 & * arena_vec ! [ self ; lowered_req] ,
@@ -133,10 +135,13 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
133135 ens : & Box < rustc_ast:: Expr > ,
134136 ) -> & ' hir rustc_hir:: Expr < ' hir > {
135137 let ens_span = self . lower_span ( ens. span ) ;
136- let ens_span =
137- self . mark_span_with_reason ( rustc_span:: DesugaringKind :: Contract , ens_span, None ) ;
138+ let ens_span = self . mark_span_with_reason (
139+ rustc_span:: DesugaringKind :: Contract ,
140+ ens_span,
141+ Some ( Arc :: clone ( & self . allow_contracts ) ) ,
142+ ) ;
138143 let lowered_ens = self . lower_expr_mut ( & ens) ;
139- self . expr_call_lang_item_qpath_fn (
144+ self . expr_call_lang_item_fn (
140145 ens_span,
141146 rustc_hir:: LangItem :: ContractBuildCheckEnsures ,
142147 & * arena_vec ! [ self ; lowered_ens] ,
@@ -291,7 +296,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
291296 let ret = self . expr_ident ( span, ret_ident, ret_hir_id) ;
292297
293298 let cond_fn = self . expr_ident ( span, cond_ident, cond_hir_id) ;
294- let contract_check = self . expr_call_lang_item_qpath_fn_mut (
299+ let contract_check = self . expr_call_lang_item_fn_mut (
295300 span,
296301 rustc_hir:: LangItem :: ContractCheckEnsures ,
297302 arena_vec ! [ self ; * cond_fn, * ret] ,
0 commit comments