From 1c129f7b975af43362877054c4cd24d70929a030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= Date: Sat, 17 Jul 2021 01:38:08 +0200 Subject: [PATCH] use vec![] macro to create Vector with first item inside instead of pushing to an empty vec![] slightly reduces code bloat --- compiler/rustc_ast_pretty/src/pprust/state.rs | 3 +-- compiler/rustc_hir_pretty/src/lib.rs | 4 ++-- compiler/rustc_mir/src/transform/coverage/graph.rs | 4 ++-- .../src/traits/error_reporting/on_unimplemented.rs | 5 ++--- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/compiler/rustc_ast_pretty/src/pprust/state.rs b/compiler/rustc_ast_pretty/src/pprust/state.rs index 8b7b306a54dd2..b910431b1ddf1 100644 --- a/compiler/rustc_ast_pretty/src/pprust/state.rs +++ b/compiler/rustc_ast_pretty/src/pprust/state.rs @@ -2189,8 +2189,7 @@ impl<'a> State<'a> { Options(InlineAsmOptions), } - let mut args = vec![]; - args.push(AsmArg::Template(InlineAsmTemplatePiece::to_string(&asm.template))); + let mut args = vec![AsmArg::Template(InlineAsmTemplatePiece::to_string(&asm.template))]; args.extend(asm.operands.iter().map(|(o, _)| AsmArg::Operand(o))); if !asm.options.is_empty() { args.push(AsmArg::Options(asm.options)); diff --git a/compiler/rustc_hir_pretty/src/lib.rs b/compiler/rustc_hir_pretty/src/lib.rs index 5c1739b1ab9b6..598292d1bc4bd 100644 --- a/compiler/rustc_hir_pretty/src/lib.rs +++ b/compiler/rustc_hir_pretty/src/lib.rs @@ -1356,8 +1356,8 @@ impl<'a> State<'a> { Options(ast::InlineAsmOptions), } - let mut args = vec![]; - args.push(AsmArg::Template(ast::InlineAsmTemplatePiece::to_string(&asm.template))); + let mut args = + vec![AsmArg::Template(ast::InlineAsmTemplatePiece::to_string(&asm.template))]; args.extend(asm.operands.iter().map(|(o, _)| AsmArg::Operand(o))); if !asm.options.is_empty() { args.push(AsmArg::Options(asm.options)); diff --git a/compiler/rustc_mir/src/transform/coverage/graph.rs b/compiler/rustc_mir/src/transform/coverage/graph.rs index 0521f507ec7d3..32febcec7aff3 100644 --- a/compiler/rustc_mir/src/transform/coverage/graph.rs +++ b/compiler/rustc_mir/src/transform/coverage/graph.rs @@ -526,8 +526,8 @@ impl TraverseCoverageGraphWithLoops { pub fn new(basic_coverage_blocks: &CoverageGraph) -> Self { let start_bcb = basic_coverage_blocks.start_node(); let backedges = find_loop_backedges(basic_coverage_blocks); - let mut context_stack = Vec::new(); - context_stack.push(TraversalContext { loop_backedges: None, worklist: vec![start_bcb] }); + let context_stack = + vec![TraversalContext { loop_backedges: None, worklist: vec![start_bcb] }]; // `context_stack` starts with a `TraversalContext` for the main function context (beginning // with the `start` BasicCoverageBlock of the function). New worklists are pushed to the top // of the stack as loops are entered, and popped off of the stack when a loop's worklist is diff --git a/compiler/rustc_trait_selection/src/traits/error_reporting/on_unimplemented.rs b/compiler/rustc_trait_selection/src/traits/error_reporting/on_unimplemented.rs index 0ca0245a203d1..3a32f1cb903e5 100644 --- a/compiler/rustc_trait_selection/src/traits/error_reporting/on_unimplemented.rs +++ b/compiler/rustc_trait_selection/src/traits/error_reporting/on_unimplemented.rs @@ -124,11 +124,10 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> { self.impl_similar_to(trait_ref, obligation).unwrap_or_else(|| trait_ref.def_id()); let trait_ref = trait_ref.skip_binder(); - let mut flags = vec![]; - flags.push(( + let mut flags = vec![( sym::ItemContext, self.describe_enclosure(obligation.cause.body_id).map(|s| s.to_owned()), - )); + )]; match obligation.cause.code { ObligationCauseCode::BuiltinDerivedObligation(..)