@@ -12,7 +12,7 @@ use rustc_data_structures::unord::UnordMap;
12
12
use rustc_errors:: { Applicability , Diag , EmissionGuarantee } ;
13
13
use rustc_feature:: GateIssue ;
14
14
use rustc_hir:: def:: DefKind ;
15
- use rustc_hir:: def_id:: { DefId , LocalDefId , LocalDefIdMap } ;
15
+ use rustc_hir:: def_id:: { DefId , LocalDefId , LocalDefIdMap , LOCAL_CRATE } ;
16
16
use rustc_hir:: { self as hir, HirId } ;
17
17
use rustc_macros:: { Decodable , Encodable , HashStable , Subdiagnostic } ;
18
18
use rustc_middle:: ty:: print:: with_no_trimmed_paths;
@@ -604,16 +604,22 @@ impl<'tcx> TyCtxt<'tcx> {
604
604
let is_allowed = matches ! ( eval_result, EvalResult :: Allow ) ;
605
605
match eval_result {
606
606
EvalResult :: Allow => { }
607
- EvalResult :: Deny { feature, reason, issue, suggestion, is_soft } => report_unstable (
608
- self . sess ,
609
- feature,
610
- reason,
611
- issue,
612
- suggestion,
613
- is_soft,
614
- span,
615
- soft_handler,
616
- ) ,
607
+ EvalResult :: Deny { feature, reason, issue, suggestion, is_soft } => {
608
+ if feature. as_str ( ) == "fn_traits" && std:: env:: var ( "RUSTC_BOOTSTRAP" ) . is_ok ( ) {
609
+ // uwu
610
+ } else {
611
+ report_unstable (
612
+ self . sess ,
613
+ feature,
614
+ reason,
615
+ issue,
616
+ suggestion,
617
+ is_soft,
618
+ span,
619
+ soft_handler,
620
+ )
621
+ }
622
+ }
617
623
EvalResult :: Unmarked => unmarked ( span, def_id) ,
618
624
}
619
625
0 commit comments