Skip to content

Commit b8b32a9

Browse files
committed
simplify config::features
1 parent 4f17dce commit b8b32a9

File tree

1 file changed

+18
-19
lines changed

1 file changed

+18
-19
lines changed

src/librustc_parse/config.rs

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -207,30 +207,29 @@ pub fn features(
207207
edition: Edition,
208208
allow_features: &Option<Vec<String>>,
209209
) -> (ast::Crate, Features) {
210-
let features;
211-
{
212-
let mut strip_unconfigured = StripUnconfigured { sess, features: None };
210+
let mut strip_unconfigured = StripUnconfigured { sess, features: None };
213211

214-
let unconfigured_attrs = krate.attrs.clone();
215-
let err_count = sess.span_diagnostic.err_count();
216-
if let Some(attrs) = strip_unconfigured.configure(krate.attrs) {
217-
krate.attrs = attrs;
218-
} else {
219-
// the entire crate is unconfigured
212+
let unconfigured_attrs = krate.attrs.clone();
213+
let diag = &sess.span_diagnostic;
214+
let err_count = diag.err_count();
215+
let features = match strip_unconfigured.configure(krate.attrs) {
216+
None => {
217+
// The entire crate is unconfigured.
220218
krate.attrs = Vec::new();
221219
krate.module.items = Vec::new();
222-
return (krate, Features::default());
220+
Features::default()
223221
}
224-
225-
features = get_features(&sess.span_diagnostic, &krate.attrs, edition, allow_features);
226-
227-
// Avoid reconfiguring malformed `cfg_attr`s
228-
if err_count == sess.span_diagnostic.err_count() {
229-
strip_unconfigured.features = Some(&features);
230-
strip_unconfigured.configure(unconfigured_attrs);
222+
Some(attrs) => {
223+
krate.attrs = attrs;
224+
let features = get_features(diag, &krate.attrs, edition, allow_features);
225+
if err_count == diag.err_count() {
226+
// Avoid reconfiguring malformed `cfg_attr`s.
227+
strip_unconfigured.features = Some(&features);
228+
strip_unconfigured.configure(unconfigured_attrs);
229+
}
230+
features
231231
}
232-
}
233-
232+
};
234233
(krate, features)
235234
}
236235

0 commit comments

Comments
 (0)