Rename drop_copy
lint to dropping_copy_types
This commit is contained in:
parent
d77014a608
commit
1c7ab18c08
@ -525,7 +525,7 @@ lint_drop_ref = calls to `std::mem::drop` with a reference instead of an owned v
|
|||||||
.label = argument has type `{$arg_ty}`
|
.label = argument has type `{$arg_ty}`
|
||||||
.note = use `let _ = ...` to ignore the expression or result
|
.note = use `let _ = ...` to ignore the expression or result
|
||||||
|
|
||||||
lint_drop_copy = calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
lint_dropping_copy_types = calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
||||||
.label = argument has type `{$arg_ty}`
|
.label = argument has type `{$arg_ty}`
|
||||||
.note = use `let _ = ...` to ignore the expression or result
|
.note = use `let _ = ...` to ignore the expression or result
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ declare_lint! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
declare_lint! {
|
declare_lint! {
|
||||||
/// The `drop_copy` lint checks for calls to `std::mem::drop` with a value
|
/// The `dropping_copy_types` lint checks for calls to `std::mem::drop` with a value
|
||||||
/// that derives the Copy trait.
|
/// that derives the Copy trait.
|
||||||
///
|
///
|
||||||
/// ### Example
|
/// ### Example
|
||||||
@ -76,7 +76,7 @@ declare_lint! {
|
|||||||
/// Calling `std::mem::drop` [does nothing for types that
|
/// Calling `std::mem::drop` [does nothing for types that
|
||||||
/// implement Copy](https://doc.rust-lang.org/std/mem/fn.drop.html), since the
|
/// implement Copy](https://doc.rust-lang.org/std/mem/fn.drop.html), since the
|
||||||
/// value will be copied and moved into the function on invocation.
|
/// value will be copied and moved into the function on invocation.
|
||||||
pub DROP_COPY,
|
pub DROPPING_COPY_TYPES,
|
||||||
Warn,
|
Warn,
|
||||||
"calls to `std::mem::drop` with a value that implements Copy"
|
"calls to `std::mem::drop` with a value that implements Copy"
|
||||||
}
|
}
|
||||||
@ -109,7 +109,7 @@ declare_lint! {
|
|||||||
"calls to `std::mem::forget` with a value that implements Copy"
|
"calls to `std::mem::forget` with a value that implements Copy"
|
||||||
}
|
}
|
||||||
|
|
||||||
declare_lint_pass!(DropForgetUseless => [DROP_REF, FORGET_REF, DROP_COPY, FORGET_COPY]);
|
declare_lint_pass!(DropForgetUseless => [DROP_REF, FORGET_REF, DROPPING_COPY_TYPES, FORGET_COPY]);
|
||||||
|
|
||||||
impl<'tcx> LateLintPass<'tcx> for DropForgetUseless {
|
impl<'tcx> LateLintPass<'tcx> for DropForgetUseless {
|
||||||
fn check_expr(&mut self, cx: &LateContext<'tcx>, expr: &'tcx Expr<'tcx>) {
|
fn check_expr(&mut self, cx: &LateContext<'tcx>, expr: &'tcx Expr<'tcx>) {
|
||||||
@ -129,7 +129,7 @@ impl<'tcx> LateLintPass<'tcx> for DropForgetUseless {
|
|||||||
cx.emit_spanned_lint(FORGET_REF, expr.span, ForgetRefDiag { arg_ty, label: arg.span });
|
cx.emit_spanned_lint(FORGET_REF, expr.span, ForgetRefDiag { arg_ty, label: arg.span });
|
||||||
},
|
},
|
||||||
sym::mem_drop if is_copy && !drop_is_single_call_in_arm => {
|
sym::mem_drop if is_copy && !drop_is_single_call_in_arm => {
|
||||||
cx.emit_spanned_lint(DROP_COPY, expr.span, DropCopyDiag { arg_ty, label: arg.span });
|
cx.emit_spanned_lint(DROPPING_COPY_TYPES, expr.span, DropCopyDiag { arg_ty, label: arg.span });
|
||||||
}
|
}
|
||||||
sym::mem_forget if is_copy => {
|
sym::mem_forget if is_copy => {
|
||||||
cx.emit_spanned_lint(FORGET_COPY, expr.span, ForgetCopyDiag { arg_ty, label: arg.span });
|
cx.emit_spanned_lint(FORGET_COPY, expr.span, ForgetCopyDiag { arg_ty, label: arg.span });
|
||||||
|
@ -673,7 +673,7 @@ pub struct DropRefDiag<'a> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[derive(LintDiagnostic)]
|
#[derive(LintDiagnostic)]
|
||||||
#[diag(lint_drop_copy)]
|
#[diag(lint_dropping_copy_types)]
|
||||||
#[note]
|
#[note]
|
||||||
pub struct DropCopyDiag<'a> {
|
pub struct DropCopyDiag<'a> {
|
||||||
pub arg_ty: Ty<'a>,
|
pub arg_ty: Ty<'a>,
|
||||||
|
@ -968,7 +968,7 @@ pub const fn replace<T>(dest: &mut T, src: T) -> T {
|
|||||||
/// Integers and other types implementing [`Copy`] are unaffected by `drop`.
|
/// Integers and other types implementing [`Copy`] are unaffected by `drop`.
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// # #![cfg_attr(not(bootstrap), allow(drop_copy))]
|
/// # #![cfg_attr(not(bootstrap), allow(dropping_copy_types))]
|
||||||
/// #[derive(Copy, Clone)]
|
/// #[derive(Copy, Clone)]
|
||||||
/// struct Foo(u8);
|
/// struct Foo(u8);
|
||||||
///
|
///
|
||||||
|
@ -98,7 +98,7 @@ impl<'tcx> LateLintPass<'tcx> for DropForgetRef {
|
|||||||
let is_copy = is_copy(cx, arg_ty);
|
let is_copy = is_copy(cx, arg_ty);
|
||||||
let drop_is_single_call_in_arm = is_single_call_in_arm(cx, arg, expr);
|
let drop_is_single_call_in_arm = is_single_call_in_arm(cx, arg, expr);
|
||||||
let (lint, msg) = match fn_name {
|
let (lint, msg) = match fn_name {
|
||||||
// early return for uplifted lints: drop_ref, drop_copy, forget_ref, forget_copy
|
// early return for uplifted lints: drop_ref, dropping_copy_types, forget_ref, forget_copy
|
||||||
sym::mem_drop if arg_ty.is_ref() && !drop_is_single_call_in_arm => return,
|
sym::mem_drop if arg_ty.is_ref() && !drop_is_single_call_in_arm => return,
|
||||||
sym::mem_forget if arg_ty.is_ref() => return,
|
sym::mem_forget if arg_ty.is_ref() => return,
|
||||||
sym::mem_drop if is_copy && !drop_is_single_call_in_arm => return,
|
sym::mem_drop if is_copy && !drop_is_single_call_in_arm => return,
|
||||||
|
@ -33,7 +33,7 @@ pub static RENAMED_LINTS: &[(&str, &str)] = &[
|
|||||||
("clippy::zero_width_space", "clippy::invisible_characters"),
|
("clippy::zero_width_space", "clippy::invisible_characters"),
|
||||||
("clippy::clone_double_ref", "suspicious_double_ref_op"),
|
("clippy::clone_double_ref", "suspicious_double_ref_op"),
|
||||||
("clippy::drop_bounds", "drop_bounds"),
|
("clippy::drop_bounds", "drop_bounds"),
|
||||||
("clippy::drop_copy", "drop_copy"),
|
("clippy::drop_copy", "dropping_copy_types"),
|
||||||
("clippy::drop_ref", "drop_ref"),
|
("clippy::drop_ref", "drop_ref"),
|
||||||
("clippy::for_loop_over_option", "for_loops_over_fallibles"),
|
("clippy::for_loop_over_option", "for_loops_over_fallibles"),
|
||||||
("clippy::for_loop_over_result", "for_loops_over_fallibles"),
|
("clippy::for_loop_over_result", "for_loops_over_fallibles"),
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#![allow(unused)]
|
#![allow(unused)]
|
||||||
#![allow(deref_nullptr)]
|
#![allow(deref_nullptr)]
|
||||||
#![allow(clippy::unnecessary_operation)]
|
#![allow(clippy::unnecessary_operation)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
#![warn(clippy::multiple_unsafe_ops_per_block)]
|
#![warn(clippy::multiple_unsafe_ops_per_block)]
|
||||||
|
|
||||||
extern crate proc_macros;
|
extern crate proc_macros;
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
#![allow(clippy::invisible_characters)]
|
#![allow(clippy::invisible_characters)]
|
||||||
#![allow(suspicious_double_ref_op)]
|
#![allow(suspicious_double_ref_op)]
|
||||||
#![allow(drop_bounds)]
|
#![allow(drop_bounds)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
#![allow(drop_ref)]
|
#![allow(drop_ref)]
|
||||||
#![allow(for_loops_over_fallibles)]
|
#![allow(for_loops_over_fallibles)]
|
||||||
#![allow(forget_copy)]
|
#![allow(forget_copy)]
|
||||||
@ -77,7 +77,7 @@
|
|||||||
#![warn(clippy::invisible_characters)]
|
#![warn(clippy::invisible_characters)]
|
||||||
#![warn(suspicious_double_ref_op)]
|
#![warn(suspicious_double_ref_op)]
|
||||||
#![warn(drop_bounds)]
|
#![warn(drop_bounds)]
|
||||||
#![warn(drop_copy)]
|
#![warn(dropping_copy_types)]
|
||||||
#![warn(drop_ref)]
|
#![warn(drop_ref)]
|
||||||
#![warn(for_loops_over_fallibles)]
|
#![warn(for_loops_over_fallibles)]
|
||||||
#![warn(for_loops_over_fallibles)]
|
#![warn(for_loops_over_fallibles)]
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
#![allow(clippy::invisible_characters)]
|
#![allow(clippy::invisible_characters)]
|
||||||
#![allow(suspicious_double_ref_op)]
|
#![allow(suspicious_double_ref_op)]
|
||||||
#![allow(drop_bounds)]
|
#![allow(drop_bounds)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
#![allow(drop_ref)]
|
#![allow(drop_ref)]
|
||||||
#![allow(for_loops_over_fallibles)]
|
#![allow(for_loops_over_fallibles)]
|
||||||
#![allow(forget_copy)]
|
#![allow(forget_copy)]
|
||||||
|
@ -186,11 +186,11 @@ error: lint `clippy::drop_bounds` has been renamed to `drop_bounds`
|
|||||||
LL | #![warn(clippy::drop_bounds)]
|
LL | #![warn(clippy::drop_bounds)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^ help: use the new name: `drop_bounds`
|
| ^^^^^^^^^^^^^^^^^^^ help: use the new name: `drop_bounds`
|
||||||
|
|
||||||
error: lint `clippy::drop_copy` has been renamed to `drop_copy`
|
error: lint `clippy::drop_copy` has been renamed to `dropping_copy_types`
|
||||||
--> $DIR/rename.rs:80:9
|
--> $DIR/rename.rs:80:9
|
||||||
|
|
|
|
||||||
LL | #![warn(clippy::drop_copy)]
|
LL | #![warn(clippy::drop_copy)]
|
||||||
| ^^^^^^^^^^^^^^^^^ help: use the new name: `drop_copy`
|
| ^^^^^^^^^^^^^^^^^ help: use the new name: `dropping_copy_types`
|
||||||
|
|
||||||
error: lint `clippy::drop_ref` has been renamed to `drop_ref`
|
error: lint `clippy::drop_ref` has been renamed to `drop_ref`
|
||||||
--> $DIR/rename.rs:81:9
|
--> $DIR/rename.rs:81:9
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//@error-in-other-file: memory is uninitialized at [0x4..0x10]
|
//@error-in-other-file: memory is uninitialized at [0x4..0x10]
|
||||||
|
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
use std::alloc::{alloc, dealloc, Layout};
|
use std::alloc::{alloc, dealloc, Layout};
|
||||||
use std::slice::from_raw_parts;
|
use std::slice::from_raw_parts;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
//@error-in-other-file: memory is uninitialized at [0x4..0x8]
|
//@error-in-other-file: memory is uninitialized at [0x4..0x8]
|
||||||
//@normalize-stderr-test: "a[0-9]+" -> "ALLOC"
|
//@normalize-stderr-test: "a[0-9]+" -> "ALLOC"
|
||||||
#![feature(strict_provenance)]
|
#![feature(strict_provenance)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
// Test printing allocations that contain single-byte provenance.
|
// Test printing allocations that contain single-byte provenance.
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
//@compile-flags: -Zmiri-retag-fields
|
//@compile-flags: -Zmiri-retag-fields
|
||||||
// Checks that the test does not run forever (which relies on a fast path).
|
// Checks that the test does not run forever (which relies on a fast path).
|
||||||
|
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let array = [(); usize::MAX];
|
let array = [(); usize::MAX];
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#![feature(inherent_associated_types)]
|
#![feature(inherent_associated_types)]
|
||||||
#![allow(incomplete_features)]
|
#![allow(incomplete_features)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
use std::convert::identity;
|
use std::convert::identity;
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// run-pass
|
// run-pass
|
||||||
#![allow(unused_mut)]
|
#![allow(unused_mut)]
|
||||||
#![allow(unused_variables)]
|
#![allow(unused_variables)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
// pretty-expanded FIXME #23616
|
// pretty-expanded FIXME #23616
|
||||||
|
|
||||||
struct A { a: isize, b: Box<isize> }
|
struct A { a: isize, b: Box<isize> }
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// run-pass
|
// run-pass
|
||||||
// pretty-expanded FIXME #23616
|
// pretty-expanded FIXME #23616
|
||||||
|
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
struct A { a: isize, b: Box<isize> }
|
struct A { a: isize, b: Box<isize> }
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// run-pass
|
// run-pass
|
||||||
|
|
||||||
#![warn(rust_2021_incompatible_closure_captures)]
|
#![warn(rust_2021_incompatible_closure_captures)]
|
||||||
#![allow(drop_ref, drop_copy)]
|
#![allow(drop_ref, dropping_copy_types)]
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
if let a = "" {
|
if let a = "" {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// run-pass
|
// run-pass
|
||||||
// pretty-expanded FIXME #23616
|
// pretty-expanded FIXME #23616
|
||||||
|
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
use ::std::mem;
|
use ::std::mem;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// run-pass
|
// run-pass
|
||||||
// needs-unwind
|
// needs-unwind
|
||||||
|
|
||||||
#![allow(drop_ref, drop_copy)]
|
#![allow(drop_ref, dropping_copy_types)]
|
||||||
|
|
||||||
static mut CHECK: usize = 0;
|
static mut CHECK: usize = 0;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
//[nomiropt]compile-flags: -Z mir-opt-level=0
|
//[nomiropt]compile-flags: -Z mir-opt-level=0
|
||||||
|
|
||||||
#![feature(generators, generator_trait)]
|
#![feature(generators, generator_trait)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
use std::ops::Generator;
|
use std::ops::Generator;
|
||||||
use std::pin::Pin;
|
use std::pin::Pin;
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
// [drop_tracking_mir] build-pass
|
// [drop_tracking_mir] build-pass
|
||||||
|
|
||||||
#![feature(generators, negative_impls)]
|
#![feature(generators, negative_impls)]
|
||||||
#![allow(drop_ref, drop_copy)]
|
#![allow(drop_ref, dropping_copy_types)]
|
||||||
|
|
||||||
macro_rules! type_combinations {
|
macro_rules! type_combinations {
|
||||||
(
|
(
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// run-pass
|
// run-pass
|
||||||
|
|
||||||
#![feature(generators, generator_trait)]
|
#![feature(generators, generator_trait)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
use std::marker::{PhantomPinned, Unpin};
|
use std::marker::{PhantomPinned, Unpin};
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#![feature(generators)]
|
#![feature(generators)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
// run-pass
|
// run-pass
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// check-pass
|
// check-pass
|
||||||
|
|
||||||
#![feature(decl_macro)]
|
#![feature(decl_macro)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
macro mac() {
|
macro mac() {
|
||||||
mod m {
|
mod m {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// check-pass
|
// check-pass
|
||||||
|
|
||||||
#![warn(drop_copy)]
|
#![warn(dropping_copy_types)]
|
||||||
|
|
||||||
use std::mem::drop;
|
use std::mem::drop;
|
||||||
use std::vec::Vec;
|
use std::vec::Vec;
|
@ -1,5 +1,5 @@
|
|||||||
warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
||||||
--> $DIR/drop_copy.rs:34:5
|
--> $DIR/dropping_copy_types.rs:34:5
|
||||||
|
|
|
|
||||||
LL | drop(s1);
|
LL | drop(s1);
|
||||||
| ^^^^^--^
|
| ^^^^^--^
|
||||||
@ -8,13 +8,13 @@ LL | drop(s1);
|
|||||||
|
|
|
|
||||||
= note: use `let _ = ...` to ignore the expression or result
|
= note: use `let _ = ...` to ignore the expression or result
|
||||||
note: the lint level is defined here
|
note: the lint level is defined here
|
||||||
--> $DIR/drop_copy.rs:3:9
|
--> $DIR/dropping_copy_types.rs:3:9
|
||||||
|
|
|
|
||||||
LL | #![warn(drop_copy)]
|
LL | #![warn(dropping_copy_types)]
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
||||||
--> $DIR/drop_copy.rs:35:5
|
--> $DIR/dropping_copy_types.rs:35:5
|
||||||
|
|
|
|
||||||
LL | drop(s2);
|
LL | drop(s2);
|
||||||
| ^^^^^--^
|
| ^^^^^--^
|
||||||
@ -24,7 +24,7 @@ LL | drop(s2);
|
|||||||
= note: use `let _ = ...` to ignore the expression or result
|
= note: use `let _ = ...` to ignore the expression or result
|
||||||
|
|
||||||
warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
|
warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
|
||||||
--> $DIR/drop_copy.rs:36:5
|
--> $DIR/dropping_copy_types.rs:36:5
|
||||||
|
|
|
|
||||||
LL | drop(s3);
|
LL | drop(s3);
|
||||||
| ^^^^^--^
|
| ^^^^^--^
|
||||||
@ -35,7 +35,7 @@ LL | drop(s3);
|
|||||||
= note: `#[warn(drop_ref)]` on by default
|
= note: `#[warn(drop_ref)]` on by default
|
||||||
|
|
||||||
warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
||||||
--> $DIR/drop_copy.rs:37:5
|
--> $DIR/dropping_copy_types.rs:37:5
|
||||||
|
|
|
|
||||||
LL | drop(s4);
|
LL | drop(s4);
|
||||||
| ^^^^^--^
|
| ^^^^^--^
|
||||||
@ -45,7 +45,7 @@ LL | drop(s4);
|
|||||||
= note: use `let _ = ...` to ignore the expression or result
|
= note: use `let _ = ...` to ignore the expression or result
|
||||||
|
|
||||||
warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
|
warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
|
||||||
--> $DIR/drop_copy.rs:38:5
|
--> $DIR/dropping_copy_types.rs:38:5
|
||||||
|
|
|
|
||||||
LL | drop(s5);
|
LL | drop(s5);
|
||||||
| ^^^^^--^
|
| ^^^^^--^
|
||||||
@ -55,7 +55,7 @@ LL | drop(s5);
|
|||||||
= note: use `let _ = ...` to ignore the expression or result
|
= note: use `let _ = ...` to ignore the expression or result
|
||||||
|
|
||||||
warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
|
warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
|
||||||
--> $DIR/drop_copy.rs:50:5
|
--> $DIR/dropping_copy_types.rs:50:5
|
||||||
|
|
|
|
||||||
LL | drop(a2);
|
LL | drop(a2);
|
||||||
| ^^^^^--^
|
| ^^^^^--^
|
||||||
@ -65,7 +65,7 @@ LL | drop(a2);
|
|||||||
= note: use `let _ = ...` to ignore the expression or result
|
= note: use `let _ = ...` to ignore the expression or result
|
||||||
|
|
||||||
warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
|
warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
|
||||||
--> $DIR/drop_copy.rs:52:5
|
--> $DIR/dropping_copy_types.rs:52:5
|
||||||
|
|
|
|
||||||
LL | drop(a4);
|
LL | drop(a4);
|
||||||
| ^^^^^--^
|
| ^^^^^--^
|
||||||
@ -75,7 +75,7 @@ LL | drop(a4);
|
|||||||
= note: use `let _ = ...` to ignore the expression or result
|
= note: use `let _ = ...` to ignore the expression or result
|
||||||
|
|
||||||
warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
||||||
--> $DIR/drop_copy.rs:71:13
|
--> $DIR/dropping_copy_types.rs:71:13
|
||||||
|
|
|
|
||||||
LL | drop(println_and(13));
|
LL | drop(println_and(13));
|
||||||
| ^^^^^---------------^
|
| ^^^^^---------------^
|
||||||
@ -85,7 +85,7 @@ LL | drop(println_and(13));
|
|||||||
= note: use `let _ = ...` to ignore the expression or result
|
= note: use `let _ = ...` to ignore the expression or result
|
||||||
|
|
||||||
warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
||||||
--> $DIR/drop_copy.rs:74:14
|
--> $DIR/dropping_copy_types.rs:74:14
|
||||||
|
|
|
|
||||||
LL | 3 if drop(println_and(14)) == () => (),
|
LL | 3 if drop(println_and(14)) == () => (),
|
||||||
| ^^^^^---------------^
|
| ^^^^^---------------^
|
||||||
@ -95,7 +95,7 @@ LL | 3 if drop(println_and(14)) == () => (),
|
|||||||
= note: use `let _ = ...` to ignore the expression or result
|
= note: use `let _ = ...` to ignore the expression or result
|
||||||
|
|
||||||
warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
|
||||||
--> $DIR/drop_copy.rs:76:14
|
--> $DIR/dropping_copy_types.rs:76:14
|
||||||
|
|
|
|
||||||
LL | 4 => drop(2),
|
LL | 4 => drop(2),
|
||||||
| ^^^^^-^
|
| ^^^^^-^
|
@ -1,7 +1,7 @@
|
|||||||
#![warn(unused)]
|
#![warn(unused)]
|
||||||
#![deny(unused_variables)]
|
#![deny(unused_variables)]
|
||||||
#![deny(unused_assignments)]
|
#![deny(unused_assignments)]
|
||||||
#![allow(dead_code, non_camel_case_types, trivial_numeric_casts, drop_copy)]
|
#![allow(dead_code, non_camel_case_types, trivial_numeric_casts, dropping_copy_types)]
|
||||||
|
|
||||||
use std::ops::AddAssign;
|
use std::ops::AddAssign;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#![allow(unused_assignments)]
|
#![allow(unused_assignments)]
|
||||||
#![allow(unused_variables)]
|
#![allow(unused_variables)]
|
||||||
#![allow(stable_features)]
|
#![allow(stable_features)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
// Test parsing binary operators after macro invocations.
|
// Test parsing binary operators after macro invocations.
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// check-pass
|
// check-pass
|
||||||
|
|
||||||
#![feature(never_type)]
|
#![feature(never_type)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
#![warn(unused)]
|
#![warn(unused)]
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
// check-pass
|
// check-pass
|
||||||
// compile-flags:-Zno-leak-check
|
// compile-flags:-Zno-leak-check
|
||||||
|
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
fn make_it() -> for<'a, 'b> fn(&'a u32, &'b u32) -> &'a u32 {
|
fn make_it() -> for<'a, 'b> fn(&'a u32, &'b u32) -> &'a u32 {
|
||||||
panic!()
|
panic!()
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// check-pass
|
// check-pass
|
||||||
|
|
||||||
#![allow(irrefutable_let_patterns)]
|
#![allow(irrefutable_let_patterns)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
#![allow(drop_ref)]
|
#![allow(drop_ref)]
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// Test `@` patterns combined with `box` patterns.
|
// Test `@` patterns combined with `box` patterns.
|
||||||
|
|
||||||
#![allow(drop_ref)]
|
#![allow(drop_ref)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
#![feature(box_patterns)]
|
#![feature(box_patterns)]
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
// Test `Copy` bindings in the rhs of `@` patterns.
|
// Test `Copy` bindings in the rhs of `@` patterns.
|
||||||
|
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
#[derive(Copy, Clone)]
|
#[derive(Copy, Clone)]
|
||||||
struct C;
|
struct C;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// build-pass
|
// build-pass
|
||||||
// ignore-pass
|
// ignore-pass
|
||||||
|
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
async fn wait() {}
|
async fn wait() {}
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
// Avoid emitting panic handlers, like the rest of these tests...
|
// Avoid emitting panic handlers, like the rest of these tests...
|
||||||
#![feature(generators)]
|
#![feature(generators)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
pub fn foo() {
|
pub fn foo() {
|
||||||
let a = || {
|
let a = || {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
// check-pass
|
// check-pass
|
||||||
|
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
// Tests ensuring that `dbg!(expr)` has the expected run-time behavior.
|
// Tests ensuring that `dbg!(expr)` has the expected run-time behavior.
|
||||||
// as well as some compile time properties we expect.
|
// as well as some compile time properties we expect.
|
||||||
|
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
#[derive(Copy, Clone, Debug)]
|
#[derive(Copy, Clone, Debug)]
|
||||||
struct Unit;
|
struct Unit;
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
// compile-flags:--extern remove_extern_crate
|
// compile-flags:--extern remove_extern_crate
|
||||||
|
|
||||||
#![warn(rust_2018_idioms)]
|
#![warn(rust_2018_idioms)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
//~ WARNING unused extern crate
|
//~ WARNING unused extern crate
|
||||||
// Shouldn't suggest changing to `use`, as `another_name`
|
// Shouldn't suggest changing to `use`, as `another_name`
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
// compile-flags:--extern remove_extern_crate
|
// compile-flags:--extern remove_extern_crate
|
||||||
|
|
||||||
#![warn(rust_2018_idioms)]
|
#![warn(rust_2018_idioms)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
extern crate core; //~ WARNING unused extern crate
|
extern crate core; //~ WARNING unused extern crate
|
||||||
// Shouldn't suggest changing to `use`, as `another_name`
|
// Shouldn't suggest changing to `use`, as `another_name`
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
//
|
//
|
||||||
// In regular builds, the bad cast was UB, like "Invalid LLVMRustVisibility value!"
|
// In regular builds, the bad cast was UB, like "Invalid LLVMRustVisibility value!"
|
||||||
|
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
pub mod before {
|
pub mod before {
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#![allow(dead_code)]
|
#![allow(dead_code)]
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
// "guessing" in trait selection can affect `copy_or_move`. Check that this
|
// "guessing" in trait selection can affect `copy_or_move`. Check that this
|
||||||
// is correctly handled. I am not sure what is the "correct" behaviour,
|
// is correctly handled. I am not sure what is the "correct" behaviour,
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
// check-pass
|
// check-pass
|
||||||
|
|
||||||
#![allow(drop_copy)]
|
#![allow(dropping_copy_types)]
|
||||||
|
|
||||||
trait A {
|
trait A {
|
||||||
type B;
|
type B;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// Check tautalogically false `Copy` bounds
|
// Check tautalogically false `Copy` bounds
|
||||||
|
|
||||||
#![feature(trivial_bounds)]
|
#![feature(trivial_bounds)]
|
||||||
#![allow(drop_ref, drop_copy)]
|
#![allow(drop_ref, dropping_copy_types)]
|
||||||
|
|
||||||
fn copy_string(t: String) -> String where String: Copy { //~ WARNING trivial_bounds
|
fn copy_string(t: String) -> String where String: Copy { //~ WARNING trivial_bounds
|
||||||
is_copy(&t);
|
is_copy(&t);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user