diff --git a/src/librustc/infer/opaque_types/mod.rs b/src/librustc/infer/opaque_types/mod.rs index 8e9af8b3938..1c52b5775a0 100644 --- a/src/librustc/infer/opaque_types/mod.rs +++ b/src/librustc/infer/opaque_types/mod.rs @@ -307,7 +307,7 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> { let required_region_bounds = tcx.required_region_bounds( opaque_type, - bounds.predicates.clone(), + bounds.predicates, ); debug_assert!(!required_region_bounds.is_empty()); diff --git a/src/librustc/middle/liveness.rs b/src/librustc/middle/liveness.rs index 260935a38d6..29c624575c3 100644 --- a/src/librustc/middle/liveness.rs +++ b/src/librustc/middle/liveness.rs @@ -1617,7 +1617,7 @@ impl<'a, 'tcx> Liveness<'a, 'tcx> { self.ir.tcx.lint_hir_note( lint::builtin::UNUSED_VARIABLES, hir_id, - spans.clone(), + spans, &format!("variable `{}` is assigned to, but never used", name), &format!("consider using `_{}` instead", name), ); diff --git a/src/librustc_borrowck/borrowck/check_loans.rs b/src/librustc_borrowck/borrowck/check_loans.rs index 4a36d441d3d..54989db46c1 100644 --- a/src/librustc_borrowck/borrowck/check_loans.rs +++ b/src/librustc_borrowck/borrowck/check_loans.rs @@ -36,7 +36,7 @@ fn owned_ptr_base_path<'a, 'tcx>(loan_path: &'a LoanPath<'tcx>) -> &'a LoanPath< return match helper(loan_path) { Some(new_loan_path) => new_loan_path, - None => loan_path.clone() + None => loan_path, }; fn helper<'a, 'tcx>(loan_path: &'a LoanPath<'tcx>) -> Option<&'a LoanPath<'tcx>> { diff --git a/src/librustc_codegen_llvm/back/lto.rs b/src/librustc_codegen_llvm/back/lto.rs index 74cda2d2fd1..5d3cc0c0a25 100644 --- a/src/librustc_codegen_llvm/back/lto.rs +++ b/src/librustc_codegen_llvm/back/lto.rs @@ -279,7 +279,7 @@ fn fat_lto(cgcx: &CodegenContext, } })); serialized_modules.extend(cached_modules.into_iter().map(|(buffer, wp)| { - (buffer, CString::new(wp.cgu_name.clone()).unwrap()) + (buffer, CString::new(wp.cgu_name).unwrap()) })); // For all serialized bitcode files we parse them and link them in as we did diff --git a/src/librustc_codegen_llvm/context.rs b/src/librustc_codegen_llvm/context.rs index 967fe877fd1..588f7481cc0 100644 --- a/src/librustc_codegen_llvm/context.rs +++ b/src/librustc_codegen_llvm/context.rs @@ -459,7 +459,7 @@ impl CodegenCx<'b, 'tcx> { }; let f = self.declare_cfn(name, fn_ty); llvm::SetUnnamedAddr(f, false); - self.intrinsics.borrow_mut().insert(name, f.clone()); + self.intrinsics.borrow_mut().insert(name, f); f } diff --git a/src/librustc_codegen_llvm/debuginfo/metadata.rs b/src/librustc_codegen_llvm/debuginfo/metadata.rs index d43adc9cb92..fbeda43af42 100644 --- a/src/librustc_codegen_llvm/debuginfo/metadata.rs +++ b/src/librustc_codegen_llvm/debuginfo/metadata.rs @@ -1609,7 +1609,7 @@ impl<'tcx> VariantInfo<'tcx> { // with every variant, make each variant name be just the value // of the discriminant. The struct name for the variant includes // the actual variant description. - format!("{}", variant_index.as_usize()).to_string() + format!("{}", variant_index.as_usize()) } } } diff --git a/src/librustc_errors/annotate_snippet_emitter_writer.rs b/src/librustc_errors/annotate_snippet_emitter_writer.rs index 9f9c7588d97..7ed2fddf72d 100644 --- a/src/librustc_errors/annotate_snippet_emitter_writer.rs +++ b/src/librustc_errors/annotate_snippet_emitter_writer.rs @@ -194,7 +194,7 @@ impl AnnotateSnippetEmitterWriter { let converter = DiagnosticConverter { source_map: self.source_map.clone(), level: level.clone(), - message: message.clone(), + message, code: code.clone(), msp: msp.clone(), children, diff --git a/src/librustc_metadata/creader.rs b/src/librustc_metadata/creader.rs index 7ffba41e256..5fef8e53e1d 100644 --- a/src/librustc_metadata/creader.rs +++ b/src/librustc_metadata/creader.rs @@ -236,7 +236,7 @@ impl<'a> CrateLoader<'a> { let host_lib = host_lib.unwrap(); self.load_derive_macros( &host_lib.metadata.get_root(), - host_lib.dylib.clone().map(|p| p.0), + host_lib.dylib.map(|p| p.0), span ) } else { diff --git a/src/librustc_mir/build/matches/mod.rs b/src/librustc_mir/build/matches/mod.rs index 4f73c92be50..f9e503ee69b 100644 --- a/src/librustc_mir/build/matches/mod.rs +++ b/src/librustc_mir/build/matches/mod.rs @@ -1737,7 +1737,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { pat_span, }))), }; - let for_arm_body = self.local_decls.push(local.clone()); + let for_arm_body = self.local_decls.push(local); let locals = if has_guard.0 { let ref_for_guard = self.local_decls.push(LocalDecl::<'tcx> { // This variable isn't mutated but has a name, so has to be diff --git a/src/librustc_typeck/check/wfcheck.rs b/src/librustc_typeck/check/wfcheck.rs index 77ac2b96160..bf64643e5a7 100644 --- a/src/librustc_typeck/check/wfcheck.rs +++ b/src/librustc_typeck/check/wfcheck.rs @@ -922,7 +922,7 @@ fn receiver_is_valid<'fcx, 'tcx>( }; let obligation = traits::Obligation::new( - cause.clone(), + cause, fcx.param_env, trait_ref.to_predicate() ); diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs index 985bb02614b..20a4f86aedb 100644 --- a/src/librustdoc/core.rs +++ b/src/librustdoc/core.rs @@ -317,7 +317,7 @@ pub fn run_core(options: RustdocOptions) -> (clean::Crate, RenderInfo, RenderOpt // Ensure that rustdoc works even if rustc is feature-staged unstable_features: UnstableFeatures::Allow, actually_rustdoc: true, - debugging_opts: debugging_options.clone(), + debugging_opts: debugging_options, error_format, edition, describe_lints, diff --git a/src/librustdoc/test.rs b/src/librustdoc/test.rs index 5bce5d6ba5d..baf99bacb8e 100644 --- a/src/librustdoc/test.rs +++ b/src/librustdoc/test.rs @@ -740,7 +740,7 @@ impl Tester for Collector { debug!("Creating test {}: {}", name, test); self.tests.push(testing::TestDescAndFn { desc: testing::TestDesc { - name: testing::DynTestName(name.clone()), + name: testing::DynTestName(name), ignore: config.ignore, // compiler failures are test failures should_panic: testing::ShouldPanic::No, diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs index 6b699464ba9..22745a1a76d 100644 --- a/src/libsyntax/ext/tt/macro_rules.rs +++ b/src/libsyntax/ext/tt/macro_rules.rs @@ -23,6 +23,7 @@ use log::debug; use rustc_data_structures::fx::{FxHashMap}; use std::borrow::Cow; use std::collections::hash_map::Entry; +use std::slice; use rustc_data_structures::sync::Lrc; use errors::Applicability; @@ -359,10 +360,10 @@ pub fn compile( // don't abort iteration early, so that errors for multiple lhses can be reported for lhs in &lhses { - valid &= check_lhs_no_empty_seq(sess, &[lhs.clone()]); + valid &= check_lhs_no_empty_seq(sess, slice::from_ref(lhs)); valid &= check_lhs_duplicate_matcher_bindings( sess, - &[lhs.clone()], + slice::from_ref(lhs), &mut FxHashMap::default(), def.id ); diff --git a/src/libsyntax_ext/format.rs b/src/libsyntax_ext/format.rs index 85b524786b2..f44a6e7efa4 100644 --- a/src/libsyntax_ext/format.rs +++ b/src/libsyntax_ext/format.rs @@ -887,7 +887,7 @@ pub fn expand_preparsed_format_args(ecx: &mut ExtCtxt<'_>, }; let fmt_str = &*fmt.node.0.as_str(); // for the suggestions below - let mut parser = parse::Parser::new(fmt_str, str_style, skips.clone(), append_newline); + let mut parser = parse::Parser::new(fmt_str, str_style, skips, append_newline); let mut unverified_pieces = Vec::new(); while let Some(piece) = parser.next() { diff --git a/src/libsyntax_ext/proc_macro_server.rs b/src/libsyntax_ext/proc_macro_server.rs index 00a420d3fa8..b5d5a38ce5b 100644 --- a/src/libsyntax_ext/proc_macro_server.rs +++ b/src/libsyntax_ext/proc_macro_server.rs @@ -409,7 +409,7 @@ impl server::TokenStream for Rustc<'_> { } fn from_str(&mut self, src: &str) -> Self::TokenStream { parse::parse_stream_from_source_str( - FileName::proc_macro_source_code(src.clone()), + FileName::proc_macro_source_code(src), src.to_string(), self.sess, Some(self.call_site),