Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rustup #4549

Closed
wants to merge 1 commit into from
Closed

rustup #4549

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/driver.rs
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ You can use tool lints to allow or deny lints from your code, eg.:
pub fn main() {
rustc_driver::init_rustc_env_logger();
exit(
rustc_driver::report_ices_to_stderr_if_any(move || {
rustc_driver::catch_fatal_errors(move || {
use std::env;

if std::env::args().any(|a| a == "--version" || a == "-V") {
Expand Down
1 change: 0 additions & 1 deletion tests/ui/non_copy_const.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#![feature(const_string_new, const_vec_new)]
#![allow(clippy::ref_in_deref, dead_code)]

use std::borrow::Cow;
Expand Down
70 changes: 35 additions & 35 deletions tests/ui/non_copy_const.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error: a const item should never be interior mutable
--> $DIR/non_copy_const.rs:10:1
--> $DIR/non_copy_const.rs:9:1
|
LL | const ATOMIC: AtomicUsize = AtomicUsize::new(5); //~ ERROR interior mutable
| -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand All @@ -9,23 +9,23 @@ LL | const ATOMIC: AtomicUsize = AtomicUsize::new(5); //~ ERROR interior mutable
= note: `#[deny(clippy::declare_interior_mutable_const)]` on by default

error: a const item should never be interior mutable
--> $DIR/non_copy_const.rs:11:1
--> $DIR/non_copy_const.rs:10:1
|
LL | const CELL: Cell<usize> = Cell::new(6); //~ ERROR interior mutable
| -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| help: make this a static item: `static`

error: a const item should never be interior mutable
--> $DIR/non_copy_const.rs:12:1
--> $DIR/non_copy_const.rs:11:1
|
LL | const ATOMIC_TUPLE: ([AtomicUsize; 1], Vec<AtomicUsize>, u8) = ([ATOMIC], Vec::new(), 7);
| -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| help: make this a static item: `static`

error: a const item should never be interior mutable
--> $DIR/non_copy_const.rs:17:9
--> $DIR/non_copy_const.rs:16:9
|
LL | const $name: $ty = $e;
| ^^^^^^^^^^^^^^^^^^^^^^
Expand All @@ -34,49 +34,49 @@ LL | declare_const!(_ONCE: Once = Once::new()); //~ ERROR interior mutable
| ------------------------------------------ in this macro invocation

error: a const item should never be interior mutable
--> $DIR/non_copy_const.rs:41:5
--> $DIR/non_copy_const.rs:40:5
|
LL | const ATOMIC: AtomicUsize; //~ ERROR interior mutable
| ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: a const item should never be interior mutable
--> $DIR/non_copy_const.rs:45:5
--> $DIR/non_copy_const.rs:44:5
|
LL | const INPUT: T;
| ^^^^^^^^^^^^^^^
|
help: consider requiring `T` to be `Copy`
--> $DIR/non_copy_const.rs:45:18
--> $DIR/non_copy_const.rs:44:18
|
LL | const INPUT: T;
| ^

error: a const item should never be interior mutable
--> $DIR/non_copy_const.rs:48:5
--> $DIR/non_copy_const.rs:47:5
|
LL | const ASSOC: Self::NonCopyType;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: consider requiring `<Self as Trait<T>>::NonCopyType` to be `Copy`
--> $DIR/non_copy_const.rs:48:18
--> $DIR/non_copy_const.rs:47:18
|
LL | const ASSOC: Self::NonCopyType;
| ^^^^^^^^^^^^^^^^^

error: a const item should never be interior mutable
--> $DIR/non_copy_const.rs:52:5
--> $DIR/non_copy_const.rs:51:5
|
LL | const AN_INPUT: T = Self::INPUT;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: consider requiring `T` to be `Copy`
--> $DIR/non_copy_const.rs:52:21
--> $DIR/non_copy_const.rs:51:21
|
LL | const AN_INPUT: T = Self::INPUT;
| ^

error: a const item should never be interior mutable
--> $DIR/non_copy_const.rs:17:9
--> $DIR/non_copy_const.rs:16:9
|
LL | const $name: $ty = $e;
| ^^^^^^^^^^^^^^^^^^^^^^
Expand All @@ -85,49 +85,49 @@ LL | declare_const!(ANOTHER_INPUT: T = Self::INPUT); //~ ERROR interior muta
| ----------------------------------------------- in this macro invocation

error: a const item should never be interior mutable
--> $DIR/non_copy_const.rs:61:5
--> $DIR/non_copy_const.rs:60:5
|
LL | const SELF_2: Self;
| ^^^^^^^^^^^^^^^^^^^
|
help: consider requiring `Self` to be `Copy`
--> $DIR/non_copy_const.rs:61:19
--> $DIR/non_copy_const.rs:60:19
|
LL | const SELF_2: Self;
| ^^^^

error: a const item should never be interior mutable
--> $DIR/non_copy_const.rs:82:5
--> $DIR/non_copy_const.rs:81:5
|
LL | const ASSOC_3: AtomicUsize = AtomicUsize::new(14); //~ ERROR interior mutable
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: a const item should never be interior mutable
--> $DIR/non_copy_const.rs:85:5
--> $DIR/non_copy_const.rs:84:5
|
LL | const U_SELF: U = U::SELF_2;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: consider requiring `U` to be `Copy`
--> $DIR/non_copy_const.rs:85:19
--> $DIR/non_copy_const.rs:84:19
|
LL | const U_SELF: U = U::SELF_2;
| ^

error: a const item should never be interior mutable
--> $DIR/non_copy_const.rs:88:5
--> $DIR/non_copy_const.rs:87:5
|
LL | const T_ASSOC: T::NonCopyType = T::ASSOC;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: consider requiring `<T as Trait<u32>>::NonCopyType` to be `Copy`
--> $DIR/non_copy_const.rs:88:20
--> $DIR/non_copy_const.rs:87:20
|
LL | const T_ASSOC: T::NonCopyType = T::ASSOC;
| ^^^^^^^^^^^^^^

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:95:5
--> $DIR/non_copy_const.rs:94:5
|
LL | ATOMIC.store(1, Ordering::SeqCst); //~ ERROR interior mutability
| ^^^^^^
Expand All @@ -136,119 +136,119 @@ LL | ATOMIC.store(1, Ordering::SeqCst); //~ ERROR interior mutability
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:96:16
--> $DIR/non_copy_const.rs:95:16
|
LL | assert_eq!(ATOMIC.load(Ordering::SeqCst), 5); //~ ERROR interior mutability
| ^^^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:99:22
--> $DIR/non_copy_const.rs:98:22
|
LL | let _once_ref = &ONCE_INIT; //~ ERROR interior mutability
| ^^^^^^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:100:25
--> $DIR/non_copy_const.rs:99:25
|
LL | let _once_ref_2 = &&ONCE_INIT; //~ ERROR interior mutability
| ^^^^^^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:101:27
--> $DIR/non_copy_const.rs:100:27
|
LL | let _once_ref_4 = &&&&ONCE_INIT; //~ ERROR interior mutability
| ^^^^^^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:102:26
--> $DIR/non_copy_const.rs:101:26
|
LL | let _once_mut = &mut ONCE_INIT; //~ ERROR interior mutability
| ^^^^^^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:113:14
--> $DIR/non_copy_const.rs:112:14
|
LL | let _ = &ATOMIC_TUPLE; //~ ERROR interior mutability
| ^^^^^^^^^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:114:14
--> $DIR/non_copy_const.rs:113:14
|
LL | let _ = &ATOMIC_TUPLE.0; //~ ERROR interior mutability
| ^^^^^^^^^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:115:19
--> $DIR/non_copy_const.rs:114:19
|
LL | let _ = &(&&&&ATOMIC_TUPLE).0; //~ ERROR interior mutability
| ^^^^^^^^^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:116:14
--> $DIR/non_copy_const.rs:115:14
|
LL | let _ = &ATOMIC_TUPLE.0[0]; //~ ERROR interior mutability
| ^^^^^^^^^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:117:13
--> $DIR/non_copy_const.rs:116:13
|
LL | let _ = ATOMIC_TUPLE.0[0].load(Ordering::SeqCst); //~ ERROR interior mutability
| ^^^^^^^^^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:123:13
--> $DIR/non_copy_const.rs:122:13
|
LL | let _ = ATOMIC_TUPLE.0[0]; //~ ERROR interior mutability
| ^^^^^^^^^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:128:5
--> $DIR/non_copy_const.rs:127:5
|
LL | CELL.set(2); //~ ERROR interior mutability
| ^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:129:16
--> $DIR/non_copy_const.rs:128:16
|
LL | assert_eq!(CELL.get(), 6); //~ ERROR interior mutability
| ^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:142:5
--> $DIR/non_copy_const.rs:141:5
|
LL | u64::ATOMIC.store(5, Ordering::SeqCst); //~ ERROR interior mutability
| ^^^^^^^^^^^
|
= help: assign this const to a local or static variable, and use the variable here

error: a const item with interior mutability should not be borrowed
--> $DIR/non_copy_const.rs:143:16
--> $DIR/non_copy_const.rs:142:16
|
LL | assert_eq!(u64::ATOMIC.load(Ordering::SeqCst), 9); //~ ERROR interior mutability
| ^^^^^^^^^^^
Expand Down