diff --git a/src/librustc/mir/mod.rs b/src/librustc/mir/mod.rs index f7bd1ac5501..814c244ecbc 100644 --- a/src/librustc/mir/mod.rs +++ b/src/librustc/mir/mod.rs @@ -242,7 +242,7 @@ impl<'tcx> Body<'tcx> { pub fn vars_iter<'a>(&'a self) -> impl Iterator + 'a { (self.arg_count + 1..self.local_decls.len()).filter_map(move |index| { let local = Local::new(index); - self.local_decls[local].is_user_variable().to_option(local) + self.local_decls[local].is_user_variable().then_some(local) }) } diff --git a/src/librustc_mir/lib.rs b/src/librustc_mir/lib.rs index df0f4e9a9c5..42b72b64f8a 100644 --- a/src/librustc_mir/lib.rs +++ b/src/librustc_mir/lib.rs @@ -28,7 +28,6 @@ Rust MIR: a lowered representation of Rust. Also: an experiment! #![feature(associated_type_bounds)] #![feature(range_is_empty)] #![feature(stmt_expr_attributes)] -#![feature(bool_to_option)] #![feature(trait_alias)] #![feature(matches_macro)] diff --git a/src/librustc_mir/transform/uninhabited_enum_branching.rs b/src/librustc_mir/transform/uninhabited_enum_branching.rs index de070d75ad8..26081d93946 100644 --- a/src/librustc_mir/transform/uninhabited_enum_branching.rs +++ b/src/librustc_mir/transform/uninhabited_enum_branching.rs @@ -29,7 +29,7 @@ fn get_switched_on_type<'tcx>( // Only bother checking blocks which terminate by switching on a local. if let Some(local) = get_discriminant_local(&terminator.kind) { let stmt_before_term = (block_data.statements.len() > 0) - .then_with(|| &block_data.statements[block_data.statements.len() - 1].kind); + .then(|| &block_data.statements[block_data.statements.len() - 1].kind); if let Some(StatementKind::Assign(box (l, Rvalue::Discriminant(place)))) = stmt_before_term { @@ -59,7 +59,7 @@ fn variant_discriminants<'tcx>( .iter_enumerated() .filter_map(|(idx, layout)| { (layout.abi != Abi::Uninhabited) - .then_with(|| ty.discriminant_for_variant(tcx, idx).unwrap().val) + .then(|| ty.discriminant_for_variant(tcx, idx).unwrap().val) }) .collect(), } diff --git a/src/librustc_parse/lib.rs b/src/librustc_parse/lib.rs index a222f3f00c4..69050534ee6 100644 --- a/src/librustc_parse/lib.rs +++ b/src/librustc_parse/lib.rs @@ -1,5 +1,6 @@ //! The main parser interface. +#![feature(bool_to_option)] #![feature(crate_visibility_modifier)] use syntax::ast;