X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=clippy_lints%2Fsrc%2Fdrop_forget_ref.rs;h=a9741c7a2ddc60abeefd74518cd5a6874171c849;hb=f5831523d335bc57a6371806b2ea1978942ac490;hp=071afde986ad191b90ade8b1a5c4030d9652209e;hpb=1f656173723dce4efc3fc90ff5763a2186ec9089;p=rust.git diff --git a/clippy_lints/src/drop_forget_ref.rs b/clippy_lints/src/drop_forget_ref.rs index 071afde986a..a9741c7a2dd 100644 --- a/clippy_lints/src/drop_forget_ref.rs +++ b/clippy_lints/src/drop_forget_ref.rs @@ -1,9 +1,18 @@ -use rustc::lint::*; -use rustc::{declare_lint, lint_array}; -use if_chain::if_chain; -use rustc::ty; -use rustc::hir::*; +// Copyright 2014-2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +use crate::rustc::hir::*; +use crate::rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; +use crate::rustc::ty; +use crate::rustc::{declare_tool_lint, lint_array}; use crate::utils::{is_copy, match_def_path, opt_def_id, paths, span_note_and_lint}; +use if_chain::if_chain; /// **What it does:** Checks for calls to `std::mem::drop` with a reference /// instead of an owned value. @@ -60,9 +69,9 @@ /// /// **Example:** /// ```rust -/// let x:i32 = 42; // i32 implements Copy +/// let x: i32 = 42; // i32 implements Copy /// std::mem::drop(x) // A copy of x is passed to the function, leaving the -/// // original unaffected +/// // original unaffected /// ``` declare_clippy_lint! { pub DROP_COPY, @@ -87,9 +96,9 @@ /// /// **Example:** /// ```rust -/// let x:i32 = 42; // i32 implements Copy +/// let x: i32 = 42; // i32 implements Copy /// std::mem::forget(x) // A copy of x is passed to the function, leaving the -/// // original unaffected +/// // original unaffected /// ``` declare_clippy_lint! { pub FORGET_COPY, @@ -106,7 +115,6 @@ const FORGET_COPY_SUMMARY: &str = "calls to `std::mem::forget` with a value that implements Copy. \ Forgetting a copy leaves the original intact."; -#[allow(missing_copy_implementations)] pub struct Pass; impl LintPass for Pass { @@ -128,7 +136,7 @@ fn check_expr(&mut self, cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr) { let arg = &args[0]; let arg_ty = cx.tables.expr_ty(arg); - if let ty::TyRef(..) = arg_ty.sty { + if let ty::Ref(..) = arg_ty.sty { if match_def_path(cx.tcx, def_id, &paths::DROP) { lint = DROP_REF; msg = DROP_REF_SUMMARY.to_string();