@@ -59,6 +59,10 @@ static KNOWN_FEATURES: &'static [(&'static str, Status)] = &[
59
59
60
60
( "quad_precision_float" , Active ) ,
61
61
62
+ // A temporary feature gate used to enable parser extensions needed
63
+ // to bootstrap fix for #5723.
64
+ ( "issue_5723_bootstrap" , Active ) ,
65
+
62
66
// These are used to test this portion of the compiler, they don't actually
63
67
// mean anything
64
68
( "test_accepted_feature" , Accepted ) ,
@@ -80,14 +84,16 @@ enum Status {
80
84
/// A set of features to be used by later passes.
81
85
pub struct Features {
82
86
pub default_type_params : Cell < bool > ,
83
- pub quad_precision_float : Cell < bool >
87
+ pub quad_precision_float : Cell < bool > ,
88
+ pub issue_5723_bootstrap : Cell < bool > ,
84
89
}
85
90
86
91
impl Features {
87
92
pub fn new ( ) -> Features {
88
93
Features {
89
94
default_type_params : Cell :: new ( false ) ,
90
- quad_precision_float : Cell :: new ( false )
95
+ quad_precision_float : Cell :: new ( false ) ,
96
+ issue_5723_bootstrap : Cell :: new ( false ) ,
91
97
}
92
98
}
93
99
}
@@ -367,4 +373,5 @@ pub fn check_crate(sess: &Session, krate: &ast::Crate) {
367
373
368
374
sess. features . default_type_params . set ( cx. has_feature ( "default_type_params" ) ) ;
369
375
sess. features . quad_precision_float . set ( cx. has_feature ( "quad_precision_float" ) ) ;
376
+ sess. features . issue_5723_bootstrap . set ( cx. has_feature ( "issue_5723_bootstrap" ) ) ;
370
377
}
0 commit comments