Address PR feedback
This commit is contained in:
parent
23176f60e7
commit
7b3940f44b
89 changed files with 307 additions and 315 deletions
|
@ -39,7 +39,6 @@ declare_lint! {
|
||||||
@future_incompatible = FutureIncompatibleInfo {
|
@future_incompatible = FutureIncompatibleInfo {
|
||||||
reference: "issue #66145 <https://github.com/rust-lang/rust/issues/66145>",
|
reference: "issue #66145 <https://github.com/rust-lang/rust/issues/66145>",
|
||||||
reason: FutureIncompatibilityReason::EditionSemanticsChange(Edition::Edition2021),
|
reason: FutureIncompatibilityReason::EditionSemanticsChange(Edition::Edition2021),
|
||||||
custom_explanation: Some("This will continue to compile in Rust 2021 but it will behave slightly differently!")
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -149,16 +149,14 @@ pub struct FutureIncompatibleInfo {
|
||||||
/// be emitted in JSON messages to be displayed by Cargo
|
/// be emitted in JSON messages to be displayed by Cargo
|
||||||
/// for upstream deps
|
/// for upstream deps
|
||||||
pub future_breakage: Option<FutureBreakage>,
|
pub future_breakage: Option<FutureBreakage>,
|
||||||
/// Provide a custom explanation message for diagnostics
|
|
||||||
/// if the default explanation message is not appropriate
|
|
||||||
pub custom_explanation: Option<&'static str>,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The reason for future incompatibility
|
/// The reason for future incompatibility
|
||||||
#[derive(Copy, Clone, Debug)]
|
#[derive(Copy, Clone, Debug)]
|
||||||
pub enum FutureIncompatibilityReason {
|
pub enum FutureIncompatibilityReason {
|
||||||
/// We're fixing a bug which will impact all editions
|
/// This will be an error in a future release
|
||||||
BugFix,
|
/// for all editions
|
||||||
|
FutureReleaseError,
|
||||||
/// Previously accepted code that will become an
|
/// Previously accepted code that will become an
|
||||||
/// error in the provided edition
|
/// error in the provided edition
|
||||||
EditionError(Edition),
|
EditionError(Edition),
|
||||||
|
@ -186,9 +184,8 @@ impl FutureIncompatibleInfo {
|
||||||
pub const fn default_fields_for_macro() -> Self {
|
pub const fn default_fields_for_macro() -> Self {
|
||||||
FutureIncompatibleInfo {
|
FutureIncompatibleInfo {
|
||||||
reference: "",
|
reference: "",
|
||||||
reason: FutureIncompatibilityReason::BugFix,
|
reason: FutureIncompatibilityReason::FutureReleaseError,
|
||||||
future_breakage: None,
|
future_breakage: None,
|
||||||
custom_explanation: None,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -386,7 +386,7 @@ pub fn struct_lint_level<'s, 'd>(
|
||||||
{
|
{
|
||||||
let current_edition = sess.edition();
|
let current_edition = sess.edition();
|
||||||
format!(
|
format!(
|
||||||
"this is valid in the current edition (Rust {}) but is not accepted in the Rust {} edition!",
|
"this is accepted in the current edition (Rust {}) but is a hard error in Rust {}!",
|
||||||
current_edition, edition
|
current_edition, edition
|
||||||
)
|
)
|
||||||
} else if let FutureIncompatibilityReason::EditionSemanticsChange(edition) =
|
} else if let FutureIncompatibilityReason::EditionSemanticsChange(edition) =
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
|
|
||||||
trait T {
|
trait T {
|
||||||
fn foo(_: i32); //~ WARNING anonymous parameters are deprecated
|
fn foo(_: i32); //~ WARNING anonymous parameters are deprecated
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
|
|
||||||
fn bar_with_default_impl(_: String, _: String) {}
|
fn bar_with_default_impl(_: String, _: String) {}
|
||||||
//~^ WARNING anonymous parameters are deprecated
|
//~^ WARNING anonymous parameters are deprecated
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
//~| WARNING anonymous parameters are deprecated
|
//~| WARNING anonymous parameters are deprecated
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
|
|
||||||
trait T {
|
trait T {
|
||||||
fn foo(i32); //~ WARNING anonymous parameters are deprecated
|
fn foo(i32); //~ WARNING anonymous parameters are deprecated
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
|
|
||||||
fn bar_with_default_impl(String, String) {}
|
fn bar_with_default_impl(String, String) {}
|
||||||
//~^ WARNING anonymous parameters are deprecated
|
//~^ WARNING anonymous parameters are deprecated
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
//~| WARNING anonymous parameters are deprecated
|
//~| WARNING anonymous parameters are deprecated
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -9,7 +9,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![warn(anonymous_parameters)]
|
LL | #![warn(anonymous_parameters)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
|
= note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
|
||||||
|
|
||||||
warning: anonymous parameters are deprecated and will be removed in the next edition.
|
warning: anonymous parameters are deprecated and will be removed in the next edition.
|
||||||
|
@ -18,7 +18,7 @@ warning: anonymous parameters are deprecated and will be removed in the next edi
|
||||||
LL | fn bar_with_default_impl(String, String) {}
|
LL | fn bar_with_default_impl(String, String) {}
|
||||||
| ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
|
| ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
|
= note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
|
||||||
|
|
||||||
warning: anonymous parameters are deprecated and will be removed in the next edition.
|
warning: anonymous parameters are deprecated and will be removed in the next edition.
|
||||||
|
@ -27,7 +27,7 @@ warning: anonymous parameters are deprecated and will be removed in the next edi
|
||||||
LL | fn bar_with_default_impl(String, String) {}
|
LL | fn bar_with_default_impl(String, String) {}
|
||||||
| ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
|
| ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
|
= note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
|
||||||
|
|
||||||
warning: 3 warnings emitted
|
warning: 3 warnings emitted
|
||||||
|
|
|
@ -3,36 +3,36 @@
|
||||||
|
|
||||||
mod outer_mod {
|
mod outer_mod {
|
||||||
pub mod await { //~ ERROR `await` is a keyword in the 2018 edition
|
pub mod await { //~ ERROR `await` is a keyword in the 2018 edition
|
||||||
//~^ WARN this is valid in the current edition
|
//~^ WARN this is accepted in the current edition
|
||||||
pub struct await; //~ ERROR `await` is a keyword in the 2018 edition
|
pub struct await; //~ ERROR `await` is a keyword in the 2018 edition
|
||||||
//~^ WARN this is valid in the current edition
|
//~^ WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
use outer_mod::await::await; //~ ERROR `await` is a keyword in the 2018 edition
|
use outer_mod::await::await; //~ ERROR `await` is a keyword in the 2018 edition
|
||||||
//~^ ERROR `await` is a keyword in the 2018 edition
|
//~^ ERROR `await` is a keyword in the 2018 edition
|
||||||
//~^^ WARN this is valid in the current edition
|
//~^^ WARN this is accepted in the current edition
|
||||||
//~^^^ WARN this is valid in the current edition
|
//~^^^ WARN this is accepted in the current edition
|
||||||
|
|
||||||
struct Foo { await: () }
|
struct Foo { await: () }
|
||||||
//~^ ERROR `await` is a keyword in the 2018 edition
|
//~^ ERROR `await` is a keyword in the 2018 edition
|
||||||
//~^^ WARN this is valid in the current edition
|
//~^^ WARN this is accepted in the current edition
|
||||||
|
|
||||||
impl Foo { fn await() {} }
|
impl Foo { fn await() {} }
|
||||||
//~^ ERROR `await` is a keyword in the 2018 edition
|
//~^ ERROR `await` is a keyword in the 2018 edition
|
||||||
//~^^ WARN this is valid in the current edition
|
//~^^ WARN this is accepted in the current edition
|
||||||
|
|
||||||
macro_rules! await {
|
macro_rules! await {
|
||||||
//~^ ERROR `await` is a keyword in the 2018 edition
|
//~^ ERROR `await` is a keyword in the 2018 edition
|
||||||
//~^^ WARN this is valid in the current edition
|
//~^^ WARN this is accepted in the current edition
|
||||||
() => {}
|
() => {}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
await!(); //~ ERROR `await` is a keyword in the 2018 edition
|
await!(); //~ ERROR `await` is a keyword in the 2018 edition
|
||||||
//~^ WARN this is valid in the current edition
|
//~^ WARN this is accepted in the current edition
|
||||||
|
|
||||||
match await { await => {} } //~ ERROR `await` is a keyword in the 2018 edition
|
match await { await => {} } //~ ERROR `await` is a keyword in the 2018 edition
|
||||||
//~^ ERROR `await` is a keyword in the 2018 edition
|
//~^ ERROR `await` is a keyword in the 2018 edition
|
||||||
//~^^ WARN this is valid in the current edition
|
//~^^ WARN this is accepted in the current edition
|
||||||
//~^^^ WARN this is valid in the current edition
|
//~^^^ WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![deny(keyword_idents)]
|
LL | #![deny(keyword_idents)]
|
||||||
| ^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -18,7 +18,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | pub struct await;
|
LL | pub struct await;
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -27,7 +27,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | use outer_mod::await::await;
|
LL | use outer_mod::await::await;
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -36,7 +36,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | use outer_mod::await::await;
|
LL | use outer_mod::await::await;
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -45,7 +45,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | struct Foo { await: () }
|
LL | struct Foo { await: () }
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -54,7 +54,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | impl Foo { fn await() {} }
|
LL | impl Foo { fn await() {} }
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -63,7 +63,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | macro_rules! await {
|
LL | macro_rules! await {
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -72,7 +72,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | await!();
|
LL | await!();
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -81,7 +81,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | match await { await => {} }
|
LL | match await { await => {} }
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -90,7 +90,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | match await { await => {} }
|
LL | match await { await => {} }
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: aborting due to 10 previous errors
|
error: aborting due to 10 previous errors
|
||||||
|
|
|
@ -6,22 +6,22 @@
|
||||||
mod outer_mod {
|
mod outer_mod {
|
||||||
pub mod r#await {
|
pub mod r#await {
|
||||||
//~^ ERROR `await` is a keyword
|
//~^ ERROR `await` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
pub struct r#await;
|
pub struct r#await;
|
||||||
//~^ ERROR `await` is a keyword
|
//~^ ERROR `await` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
use outer_mod::r#await::r#await;
|
use outer_mod::r#await::r#await;
|
||||||
//~^ ERROR `await` is a keyword
|
//~^ ERROR `await` is a keyword
|
||||||
//~| ERROR `await` is a keyword
|
//~| ERROR `await` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
match r#await { r#await => {} }
|
match r#await { r#await => {} }
|
||||||
//~^ ERROR `await` is a keyword
|
//~^ ERROR `await` is a keyword
|
||||||
//~| ERROR `await` is a keyword
|
//~| ERROR `await` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,22 +6,22 @@
|
||||||
mod outer_mod {
|
mod outer_mod {
|
||||||
pub mod await {
|
pub mod await {
|
||||||
//~^ ERROR `await` is a keyword
|
//~^ ERROR `await` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
pub struct await;
|
pub struct await;
|
||||||
//~^ ERROR `await` is a keyword
|
//~^ ERROR `await` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
use outer_mod::await::await;
|
use outer_mod::await::await;
|
||||||
//~^ ERROR `await` is a keyword
|
//~^ ERROR `await` is a keyword
|
||||||
//~| ERROR `await` is a keyword
|
//~| ERROR `await` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
match await { await => {} }
|
match await { await => {} }
|
||||||
//~^ ERROR `await` is a keyword
|
//~^ ERROR `await` is a keyword
|
||||||
//~| ERROR `await` is a keyword
|
//~| ERROR `await` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![deny(keyword_idents)]
|
LL | #![deny(keyword_idents)]
|
||||||
| ^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -18,7 +18,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | pub struct await;
|
LL | pub struct await;
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -27,7 +27,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | use outer_mod::await::await;
|
LL | use outer_mod::await::await;
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -36,7 +36,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | use outer_mod::await::await;
|
LL | use outer_mod::await::await;
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -45,7 +45,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | match await { await => {} }
|
LL | match await { await => {} }
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `await` is a keyword in the 2018 edition
|
error: `await` is a keyword in the 2018 edition
|
||||||
|
@ -54,7 +54,7 @@ error: `await` is a keyword in the 2018 edition
|
||||||
LL | match await { await => {} }
|
LL | match await { await => {} }
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#await`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: aborting due to 6 previous errors
|
error: aborting due to 6 previous errors
|
||||||
|
|
|
@ -13,7 +13,7 @@ fn b() {
|
||||||
//~| ERROR expected trait, found constant `BAR`
|
//~| ERROR expected trait, found constant `BAR`
|
||||||
//~| ERROR type provided when a constant was expected
|
//~| ERROR type provided when a constant was expected
|
||||||
//~| WARN trait objects without an explicit `dyn` are deprecated
|
//~| WARN trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
fn c() {
|
fn c() {
|
||||||
foo::<3 + 3>(); //~ ERROR expressions must be enclosed in braces
|
foo::<3 + 3>(); //~ ERROR expressions must be enclosed in braces
|
||||||
|
|
|
@ -138,7 +138,7 @@ LL | foo::<BAR + BAR>();
|
||||||
| ^^^^^^^^^ help: use `dyn`: `dyn BAR + BAR`
|
| ^^^^^^^^^ help: use `dyn`: `dyn BAR + BAR`
|
||||||
|
|
|
|
||||||
= note: `#[warn(bare_trait_objects)]` on by default
|
= note: `#[warn(bare_trait_objects)]` on by default
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error[E0747]: type provided when a constant was expected
|
error[E0747]: type provided when a constant was expected
|
||||||
|
|
|
@ -13,27 +13,27 @@
|
||||||
mod outer_mod {
|
mod outer_mod {
|
||||||
pub mod r#dyn {
|
pub mod r#dyn {
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
pub struct r#dyn;
|
pub struct r#dyn;
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
use outer_mod::r#dyn::r#dyn;
|
use outer_mod::r#dyn::r#dyn;
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR `dyn` is a keyword
|
//~| ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
match r#dyn { r#dyn => {} }
|
match r#dyn { r#dyn => {} }
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR `dyn` is a keyword
|
//~| ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
macro_defn::r#dyn();
|
macro_defn::r#dyn();
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
macro_defn::boxed();
|
macro_defn::boxed();
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ mod macro_defn {
|
||||||
|
|
||||||
macro_rules! r#dyn {
|
macro_rules! r#dyn {
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
// Note that we do not lint nor fix occurrences under macros
|
// Note that we do not lint nor fix occurrences under macros
|
||||||
($dyn:tt) => { (Box<dyn Trait>, Box<$dyn Trait>) }
|
($dyn:tt) => { (Box<dyn Trait>, Box<$dyn Trait>) }
|
||||||
|
@ -51,23 +51,23 @@ mod macro_defn {
|
||||||
|
|
||||||
pub fn r#dyn() -> ::outer_mod::r#dyn::r#dyn {
|
pub fn r#dyn() -> ::outer_mod::r#dyn::r#dyn {
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR `dyn` is a keyword
|
//~| ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR `dyn` is a keyword
|
//~| ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
::outer_mod::r#dyn::r#dyn
|
::outer_mod::r#dyn::r#dyn
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR `dyn` is a keyword
|
//~| ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
pub fn boxed() -> r#dyn!(
|
pub fn boxed() -> r#dyn!(
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
// Note that we do not lint nor fix occurrences under macros
|
// Note that we do not lint nor fix occurrences under macros
|
||||||
dyn
|
dyn
|
||||||
|
|
|
@ -13,27 +13,27 @@
|
||||||
mod outer_mod {
|
mod outer_mod {
|
||||||
pub mod dyn {
|
pub mod dyn {
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
pub struct dyn;
|
pub struct dyn;
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
use outer_mod::dyn::dyn;
|
use outer_mod::dyn::dyn;
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR `dyn` is a keyword
|
//~| ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
match dyn { dyn => {} }
|
match dyn { dyn => {} }
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR `dyn` is a keyword
|
//~| ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
macro_defn::dyn();
|
macro_defn::dyn();
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
macro_defn::boxed();
|
macro_defn::boxed();
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ mod macro_defn {
|
||||||
|
|
||||||
macro_rules! dyn {
|
macro_rules! dyn {
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
// Note that we do not lint nor fix occurrences under macros
|
// Note that we do not lint nor fix occurrences under macros
|
||||||
($dyn:tt) => { (Box<dyn Trait>, Box<$dyn Trait>) }
|
($dyn:tt) => { (Box<dyn Trait>, Box<$dyn Trait>) }
|
||||||
|
@ -51,23 +51,23 @@ mod macro_defn {
|
||||||
|
|
||||||
pub fn dyn() -> ::outer_mod::dyn::dyn {
|
pub fn dyn() -> ::outer_mod::dyn::dyn {
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR `dyn` is a keyword
|
//~| ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR `dyn` is a keyword
|
//~| ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
::outer_mod::dyn::dyn
|
::outer_mod::dyn::dyn
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR `dyn` is a keyword
|
//~| ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
pub fn boxed() -> dyn!(
|
pub fn boxed() -> dyn!(
|
||||||
//~^ ERROR `dyn` is a keyword
|
//~^ ERROR `dyn` is a keyword
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
// Note that we do not lint nor fix occurrences under macros
|
// Note that we do not lint nor fix occurrences under macros
|
||||||
dyn
|
dyn
|
||||||
|
|
|
@ -9,7 +9,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![deny(keyword_idents)]
|
LL | #![deny(keyword_idents)]
|
||||||
| ^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `dyn` is a keyword in the 2018 edition
|
error: `dyn` is a keyword in the 2018 edition
|
||||||
|
@ -18,7 +18,7 @@ error: `dyn` is a keyword in the 2018 edition
|
||||||
LL | pub struct dyn;
|
LL | pub struct dyn;
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `dyn` is a keyword in the 2018 edition
|
error: `dyn` is a keyword in the 2018 edition
|
||||||
|
@ -27,7 +27,7 @@ error: `dyn` is a keyword in the 2018 edition
|
||||||
LL | use outer_mod::dyn::dyn;
|
LL | use outer_mod::dyn::dyn;
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `dyn` is a keyword in the 2018 edition
|
error: `dyn` is a keyword in the 2018 edition
|
||||||
|
@ -36,7 +36,7 @@ error: `dyn` is a keyword in the 2018 edition
|
||||||
LL | use outer_mod::dyn::dyn;
|
LL | use outer_mod::dyn::dyn;
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `dyn` is a keyword in the 2018 edition
|
error: `dyn` is a keyword in the 2018 edition
|
||||||
|
@ -45,7 +45,7 @@ error: `dyn` is a keyword in the 2018 edition
|
||||||
LL | match dyn { dyn => {} }
|
LL | match dyn { dyn => {} }
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `dyn` is a keyword in the 2018 edition
|
error: `dyn` is a keyword in the 2018 edition
|
||||||
|
@ -54,7 +54,7 @@ error: `dyn` is a keyword in the 2018 edition
|
||||||
LL | match dyn { dyn => {} }
|
LL | match dyn { dyn => {} }
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `dyn` is a keyword in the 2018 edition
|
error: `dyn` is a keyword in the 2018 edition
|
||||||
|
@ -63,7 +63,7 @@ error: `dyn` is a keyword in the 2018 edition
|
||||||
LL | macro_defn::dyn();
|
LL | macro_defn::dyn();
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `dyn` is a keyword in the 2018 edition
|
error: `dyn` is a keyword in the 2018 edition
|
||||||
|
@ -72,7 +72,7 @@ error: `dyn` is a keyword in the 2018 edition
|
||||||
LL | macro_rules! dyn {
|
LL | macro_rules! dyn {
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `dyn` is a keyword in the 2018 edition
|
error: `dyn` is a keyword in the 2018 edition
|
||||||
|
@ -81,7 +81,7 @@ error: `dyn` is a keyword in the 2018 edition
|
||||||
LL | pub fn dyn() -> ::outer_mod::dyn::dyn {
|
LL | pub fn dyn() -> ::outer_mod::dyn::dyn {
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `dyn` is a keyword in the 2018 edition
|
error: `dyn` is a keyword in the 2018 edition
|
||||||
|
@ -90,7 +90,7 @@ error: `dyn` is a keyword in the 2018 edition
|
||||||
LL | pub fn dyn() -> ::outer_mod::dyn::dyn {
|
LL | pub fn dyn() -> ::outer_mod::dyn::dyn {
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `dyn` is a keyword in the 2018 edition
|
error: `dyn` is a keyword in the 2018 edition
|
||||||
|
@ -99,7 +99,7 @@ error: `dyn` is a keyword in the 2018 edition
|
||||||
LL | pub fn dyn() -> ::outer_mod::dyn::dyn {
|
LL | pub fn dyn() -> ::outer_mod::dyn::dyn {
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `dyn` is a keyword in the 2018 edition
|
error: `dyn` is a keyword in the 2018 edition
|
||||||
|
@ -108,7 +108,7 @@ error: `dyn` is a keyword in the 2018 edition
|
||||||
LL | ::outer_mod::dyn::dyn
|
LL | ::outer_mod::dyn::dyn
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `dyn` is a keyword in the 2018 edition
|
error: `dyn` is a keyword in the 2018 edition
|
||||||
|
@ -117,7 +117,7 @@ error: `dyn` is a keyword in the 2018 edition
|
||||||
LL | ::outer_mod::dyn::dyn
|
LL | ::outer_mod::dyn::dyn
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `dyn` is a keyword in the 2018 edition
|
error: `dyn` is a keyword in the 2018 edition
|
||||||
|
@ -126,7 +126,7 @@ error: `dyn` is a keyword in the 2018 edition
|
||||||
LL | pub fn boxed() -> dyn!(
|
LL | pub fn boxed() -> dyn!(
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#dyn`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: aborting due to 14 previous errors
|
error: aborting due to 14 previous errors
|
||||||
|
|
|
@ -3,12 +3,12 @@
|
||||||
|
|
||||||
fn function(x: &SomeTrait, y: Box<SomeTrait>) {
|
fn function(x: &SomeTrait, y: Box<SomeTrait>) {
|
||||||
//~^ ERROR trait objects without an explicit `dyn` are deprecated
|
//~^ ERROR trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR trait objects without an explicit `dyn` are deprecated
|
//~| ERROR trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
let _x: &SomeTrait = todo!();
|
let _x: &SomeTrait = todo!();
|
||||||
//~^ ERROR trait objects without an explicit `dyn` are deprecated
|
//~^ ERROR trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
trait SomeTrait {}
|
trait SomeTrait {}
|
||||||
|
|
|
@ -9,7 +9,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #[deny(bare_trait_objects)]
|
LL | #[deny(bare_trait_objects)]
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2018) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: trait objects without an explicit `dyn` are deprecated
|
error: trait objects without an explicit `dyn` are deprecated
|
||||||
|
@ -18,7 +18,7 @@ error: trait objects without an explicit `dyn` are deprecated
|
||||||
LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) {
|
LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) {
|
||||||
| ^^^^^^^^^ help: use `dyn`: `dyn SomeTrait`
|
| ^^^^^^^^^ help: use `dyn`: `dyn SomeTrait`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2018) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: trait objects without an explicit `dyn` are deprecated
|
error: trait objects without an explicit `dyn` are deprecated
|
||||||
|
@ -27,7 +27,7 @@ error: trait objects without an explicit `dyn` are deprecated
|
||||||
LL | let _x: &SomeTrait = todo!();
|
LL | let _x: &SomeTrait = todo!();
|
||||||
| ^^^^^^^^^ help: use `dyn`: `dyn SomeTrait`
|
| ^^^^^^^^^ help: use `dyn`: `dyn SomeTrait`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2018) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: aborting due to 3 previous errors
|
error: aborting due to 3 previous errors
|
||||||
|
|
|
@ -8,5 +8,5 @@ fn main() {
|
||||||
let y = &x as *const _;
|
let y = &x as *const _;
|
||||||
let _ = y.is_null();
|
let _ = y.is_null();
|
||||||
//~^ error: type annotations needed [tyvar_behind_raw_pointer]
|
//~^ error: type annotations needed [tyvar_behind_raw_pointer]
|
||||||
//~^^ warning: this is valid in the current edition
|
//~^^ warning: this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ note: the lint level is defined here
|
||||||
LL | #[deny(warnings)]
|
LL | #[deny(warnings)]
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
= note: `#[deny(tyvar_behind_raw_pointer)]` implied by `#[deny(warnings)]`
|
= note: `#[deny(tyvar_behind_raw_pointer)]` implied by `#[deny(warnings)]`
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #46906 <https://github.com/rust-lang/rust/issues/46906>
|
= note: for more information, see issue #46906 <https://github.com/rust-lang/rust/issues/46906>
|
||||||
|
|
||||||
error: aborting due to previous error
|
error: aborting due to previous error
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
trait Tr {
|
trait Tr {
|
||||||
fn f(u8) {} //~ ERROR anonymous parameters are deprecated
|
fn f(u8) {} //~ ERROR anonymous parameters are deprecated
|
||||||
//~^ WARN this is valid in the current edition
|
//~^ WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -10,7 +10,7 @@ note: the lint level is defined here
|
||||||
LL | #![deny(future_incompatible)]
|
LL | #![deny(future_incompatible)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^
|
||||||
= note: `#[deny(anonymous_parameters)]` implied by `#[deny(future_incompatible)]`
|
= note: `#[deny(anonymous_parameters)]` implied by `#[deny(future_incompatible)]`
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
|
= note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
|
||||||
|
|
||||||
error: aborting due to previous error
|
error: aborting due to previous error
|
||||||
|
|
|
@ -11,6 +11,6 @@ fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {}
|
||||||
//~| ERROR this associated type takes 0 generic arguments but 1 generic argument
|
//~| ERROR this associated type takes 0 generic arguments but 1 generic argument
|
||||||
//~| ERROR this associated type takes 1 lifetime argument but 0 lifetime arguments
|
//~| ERROR this associated type takes 1 lifetime argument but 0 lifetime arguments
|
||||||
//~| WARNING: trait objects without an explicit `dyn` are deprecated
|
//~| WARNING: trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARNING: this is valid in the current edition
|
//~| WARNING: this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -26,7 +26,7 @@ LL | fn foo<'a>(arg: Box<dyn X<Y('a) = &'a ()>>) {}
|
||||||
| ^^ help: use `dyn`: `dyn 'a`
|
| ^^ help: use `dyn`: `dyn 'a`
|
||||||
|
|
|
|
||||||
= note: `#[warn(bare_trait_objects)]` on by default
|
= note: `#[warn(bare_trait_objects)]` on by default
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error[E0107]: this associated type takes 1 lifetime argument but 0 lifetime arguments were supplied
|
error[E0107]: this associated type takes 1 lifetime argument but 0 lifetime arguments were supplied
|
||||||
|
|
|
@ -7,5 +7,5 @@ fn main() {
|
||||||
let _ = &data as *const *const ();
|
let _ = &data as *const *const ();
|
||||||
if data.is_null() {}
|
if data.is_null() {}
|
||||||
//~^ WARNING type annotations needed
|
//~^ WARNING type annotations needed
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ LL | if data.is_null() {}
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
|
|
|
||||||
= note: `#[warn(tyvar_behind_raw_pointer)]` on by default
|
= note: `#[warn(tyvar_behind_raw_pointer)]` on by default
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #46906 <https://github.com/rust-lang/rust/issues/46906>
|
= note: for more information, see issue #46906 <https://github.com/rust-lang/rust/issues/46906>
|
||||||
|
|
||||||
warning: 1 warning emitted
|
warning: 1 warning emitted
|
||||||
|
|
|
@ -13,12 +13,12 @@ impl Assoc for dyn Dyn {}
|
||||||
fn main() {
|
fn main() {
|
||||||
Dyn::func();
|
Dyn::func();
|
||||||
//~^ WARN trait objects without an explicit `dyn` are deprecated
|
//~^ WARN trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
::Dyn::func();
|
::Dyn::func();
|
||||||
//~^ WARN trait objects without an explicit `dyn` are deprecated
|
//~^ WARN trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
Dyn::CONST;
|
Dyn::CONST;
|
||||||
//~^ WARN trait objects without an explicit `dyn` are deprecated
|
//~^ WARN trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
let _: Dyn::Ty; //~ ERROR ambiguous associated type
|
let _: Dyn::Ty; //~ ERROR ambiguous associated type
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ LL | Dyn::func();
|
||||||
| ^^^ help: use `dyn`: `<dyn Dyn>`
|
| ^^^ help: use `dyn`: `<dyn Dyn>`
|
||||||
|
|
|
|
||||||
= note: `#[warn(bare_trait_objects)]` on by default
|
= note: `#[warn(bare_trait_objects)]` on by default
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
warning: trait objects without an explicit `dyn` are deprecated
|
warning: trait objects without an explicit `dyn` are deprecated
|
||||||
|
@ -20,7 +20,7 @@ warning: trait objects without an explicit `dyn` are deprecated
|
||||||
LL | ::Dyn::func();
|
LL | ::Dyn::func();
|
||||||
| ^^^^^ help: use `dyn`: `<dyn (::Dyn)>`
|
| ^^^^^ help: use `dyn`: `<dyn (::Dyn)>`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
warning: trait objects without an explicit `dyn` are deprecated
|
warning: trait objects without an explicit `dyn` are deprecated
|
||||||
|
@ -29,7 +29,7 @@ warning: trait objects without an explicit `dyn` are deprecated
|
||||||
LL | Dyn::CONST;
|
LL | Dyn::CONST;
|
||||||
| ^^^ help: use `dyn`: `<dyn Dyn>`
|
| ^^^ help: use `dyn`: `<dyn Dyn>`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: aborting due to previous error; 3 warnings emitted
|
error: aborting due to previous error; 3 warnings emitted
|
||||||
|
|
|
@ -7,6 +7,6 @@ pub trait SomeTrait {}
|
||||||
|
|
||||||
pub fn function(_x: Box<SomeTrait>) {}
|
pub fn function(_x: Box<SomeTrait>) {}
|
||||||
//~^ WARN trait objects without an explicit `dyn` are deprecated
|
//~^ WARN trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -5,7 +5,7 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
|
||||||
| ^^^^^^^^^ help: use `dyn`: `dyn SomeTrait`
|
| ^^^^^^^^^ help: use `dyn`: `dyn SomeTrait`
|
||||||
|
|
|
|
||||||
= note: warning forced by `force-warns` commandline option
|
= note: warning forced by `force-warns` commandline option
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
warning: 1 warning emitted
|
warning: 1 warning emitted
|
||||||
|
|
|
@ -7,6 +7,6 @@ pub trait SomeTrait {}
|
||||||
|
|
||||||
pub fn function(_x: Box<SomeTrait>) {}
|
pub fn function(_x: Box<SomeTrait>) {}
|
||||||
//~^ WARN trait objects without an explicit `dyn` are deprecated
|
//~^ WARN trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -5,7 +5,7 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
|
||||||
| ^^^^^^^^^ help: use `dyn`: `dyn SomeTrait`
|
| ^^^^^^^^^ help: use `dyn`: `dyn SomeTrait`
|
||||||
|
|
|
|
||||||
= note: warning forced by `force-warns` commandline option
|
= note: warning forced by `force-warns` commandline option
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
warning: 1 warning emitted
|
warning: 1 warning emitted
|
||||||
|
|
|
@ -7,6 +7,6 @@ pub trait SomeTrait {}
|
||||||
|
|
||||||
pub fn function(_x: Box<SomeTrait>) {}
|
pub fn function(_x: Box<SomeTrait>) {}
|
||||||
//~^ WARN trait objects without an explicit `dyn` are deprecated
|
//~^ WARN trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -5,7 +5,7 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
|
||||||
| ^^^^^^^^^ help: use `dyn`: `dyn SomeTrait`
|
| ^^^^^^^^^ help: use `dyn`: `dyn SomeTrait`
|
||||||
|
|
|
|
||||||
= note: warning forced by `force-warns` commandline option
|
= note: warning forced by `force-warns` commandline option
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
warning: 1 warning emitted
|
warning: 1 warning emitted
|
||||||
|
|
|
@ -8,14 +8,14 @@ fn main() {
|
||||||
match despondency {
|
match despondency {
|
||||||
1..=2 => {}
|
1..=2 => {}
|
||||||
//~^ WARN `...` range patterns are deprecated
|
//~^ WARN `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
|
|
||||||
match &despondency {
|
match &despondency {
|
||||||
&(1..=2) => {}
|
&(1..=2) => {}
|
||||||
//~^ WARN `...` range patterns are deprecated
|
//~^ WARN `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,14 +8,14 @@ fn main() {
|
||||||
match despondency {
|
match despondency {
|
||||||
1...2 => {}
|
1...2 => {}
|
||||||
//~^ WARN `...` range patterns are deprecated
|
//~^ WARN `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
|
|
||||||
match &despondency {
|
match &despondency {
|
||||||
&1...2 => {}
|
&1...2 => {}
|
||||||
//~^ WARN `...` range patterns are deprecated
|
//~^ WARN `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![warn(ellipsis_inclusive_range_patterns)]
|
LL | #![warn(ellipsis_inclusive_range_patterns)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
warning: `...` range patterns are deprecated
|
warning: `...` range patterns are deprecated
|
||||||
|
@ -18,7 +18,7 @@ warning: `...` range patterns are deprecated
|
||||||
LL | &1...2 => {}
|
LL | &1...2 => {}
|
||||||
| ^^^^^^ help: use `..=` for an inclusive range: `&(1..=2)`
|
| ^^^^^^ help: use `..=` for an inclusive range: `&(1..=2)`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
warning: 2 warnings emitted
|
warning: 2 warnings emitted
|
||||||
|
|
|
@ -5,7 +5,7 @@ LL | pub fn try() {}
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#try`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#try`
|
||||||
|
|
|
|
||||||
= note: `-W keyword-idents` implied by `-W rust-2018-compatibility`
|
= note: `-W keyword-idents` implied by `-W rust-2018-compatibility`
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
warning: 1 warning emitted
|
warning: 1 warning emitted
|
||||||
|
|
|
@ -4,4 +4,4 @@ type X<'a> = (?'a) +;
|
||||||
//~^ ERROR `?` may only modify trait bounds, not lifetime bounds
|
//~^ ERROR `?` may only modify trait bounds, not lifetime bounds
|
||||||
//~| ERROR at least one trait is required for an object type
|
//~| ERROR at least one trait is required for an object type
|
||||||
//~| WARN trait objects without an explicit `dyn` are deprecated
|
//~| WARN trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
|
@ -11,7 +11,7 @@ LL | type X<'a> = (?'a) +;
|
||||||
| ^^^^^^^ help: use `dyn`: `dyn (?'a) +`
|
| ^^^^^^^ help: use `dyn`: `dyn (?'a) +`
|
||||||
|
|
|
|
||||||
= note: `#[warn(bare_trait_objects)]` on by default
|
= note: `#[warn(bare_trait_objects)]` on by default
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error[E0224]: at least one trait is required for an object type
|
error[E0224]: at least one trait is required for an object type
|
||||||
|
|
|
@ -14,10 +14,10 @@ mac!('a);
|
||||||
fn y<'a>(y: &mut 'a + Send) {
|
fn y<'a>(y: &mut 'a + Send) {
|
||||||
//~^ ERROR expected a path on the left-hand side of `+`, not `&mut 'a`
|
//~^ ERROR expected a path on the left-hand side of `+`, not `&mut 'a`
|
||||||
//~| WARNING trait objects without an explicit `dyn` are deprecated
|
//~| WARNING trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR at least one trait is required for an object type
|
//~| ERROR at least one trait is required for an object type
|
||||||
let z = y as &mut 'a + Send;
|
let z = y as &mut 'a + Send;
|
||||||
//~^ ERROR expected value, found trait `Send`
|
//~^ ERROR expected value, found trait `Send`
|
||||||
//~| WARNING trait objects without an explicit `dyn` are deprecated
|
//~| WARNING trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ LL | fn y<'a>(y: &mut 'a + Send) {
|
||||||
| ^^ help: use `dyn`: `dyn 'a`
|
| ^^ help: use `dyn`: `dyn 'a`
|
||||||
|
|
|
|
||||||
= note: `#[warn(bare_trait_objects)]` on by default
|
= note: `#[warn(bare_trait_objects)]` on by default
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
warning: trait objects without an explicit `dyn` are deprecated
|
warning: trait objects without an explicit `dyn` are deprecated
|
||||||
|
@ -43,7 +43,7 @@ warning: trait objects without an explicit `dyn` are deprecated
|
||||||
LL | let z = y as &mut 'a + Send;
|
LL | let z = y as &mut 'a + Send;
|
||||||
| ^^ help: use `dyn`: `dyn 'a`
|
| ^^ help: use `dyn`: `dyn 'a`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error[E0224]: at least one trait is required for an object type
|
error[E0224]: at least one trait is required for an object type
|
||||||
|
|
|
@ -12,5 +12,5 @@ fn main() {
|
||||||
//~^ ERROR lifetime in trait object type must be followed by `+`
|
//~^ ERROR lifetime in trait object type must be followed by `+`
|
||||||
//~| ERROR at least one trait is required for an object type
|
//~| ERROR at least one trait is required for an object type
|
||||||
//~| WARN trait objects without an explicit `dyn` are deprecated
|
//~| WARN trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ LL | m!('static);
|
||||||
| ^^^^^^^ help: use `dyn`: `dyn 'static`
|
| ^^^^^^^ help: use `dyn`: `dyn 'static`
|
||||||
|
|
|
|
||||||
= note: `#[warn(bare_trait_objects)]` on by default
|
= note: `#[warn(bare_trait_objects)]` on by default
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error[E0224]: at least one trait is required for an object type
|
error[E0224]: at least one trait is required for an object type
|
||||||
|
|
|
@ -41,30 +41,30 @@ fn inclusive_from_to() {
|
||||||
fn inclusive2_from_to() {
|
fn inclusive2_from_to() {
|
||||||
if let 0...3 = 0 {}
|
if let 0...3 = 0 {}
|
||||||
//~^ ERROR `...` range patterns are deprecated
|
//~^ ERROR `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
if let 0...Y = 0 {}
|
if let 0...Y = 0 {}
|
||||||
//~^ ERROR `...` range patterns are deprecated
|
//~^ ERROR `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
if let X...3 = 0 {}
|
if let X...3 = 0 {}
|
||||||
//~^ ERROR `...` range patterns are deprecated
|
//~^ ERROR `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
if let X...Y = 0 {}
|
if let X...Y = 0 {}
|
||||||
//~^ ERROR `...` range patterns are deprecated
|
//~^ ERROR `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
if let true...Y = 0 {} //~ ERROR only `char` and numeric types
|
if let true...Y = 0 {} //~ ERROR only `char` and numeric types
|
||||||
//~^ ERROR `...` range patterns are deprecated
|
//~^ ERROR `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
if let X...true = 0 {} //~ ERROR only `char` and numeric types
|
if let X...true = 0 {} //~ ERROR only `char` and numeric types
|
||||||
//~^ ERROR `...` range patterns are deprecated
|
//~^ ERROR `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
if let .0...Y = 0 {} //~ ERROR mismatched types
|
if let .0...Y = 0 {} //~ ERROR mismatched types
|
||||||
//~^ ERROR float literals must have an integer part
|
//~^ ERROR float literals must have an integer part
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR `...` range patterns are deprecated
|
//~| ERROR `...` range patterns are deprecated
|
||||||
if let X... .0 = 0 {} //~ ERROR mismatched types
|
if let X... .0 = 0 {} //~ ERROR mismatched types
|
||||||
//~^ ERROR float literals must have an integer part
|
//~^ ERROR float literals must have an integer part
|
||||||
//~| ERROR `...` range patterns are deprecated
|
//~| ERROR `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
fn exclusive_from() {
|
fn exclusive_from() {
|
||||||
|
@ -137,7 +137,7 @@ fn with_macro_expr_var() {
|
||||||
let $e1..$e2;
|
let $e1..$e2;
|
||||||
let $e1...$e2;
|
let $e1...$e2;
|
||||||
//~^ ERROR `...` range patterns are deprecated
|
//~^ ERROR `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
let $e1..=$e2;
|
let $e1..=$e2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -204,7 +204,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![deny(ellipsis_inclusive_range_patterns)]
|
LL | #![deny(ellipsis_inclusive_range_patterns)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: `...` range patterns are deprecated
|
error: `...` range patterns are deprecated
|
||||||
|
@ -213,7 +213,7 @@ error: `...` range patterns are deprecated
|
||||||
LL | if let 0...Y = 0 {}
|
LL | if let 0...Y = 0 {}
|
||||||
| ^^^ help: use `..=` for an inclusive range
|
| ^^^ help: use `..=` for an inclusive range
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: `...` range patterns are deprecated
|
error: `...` range patterns are deprecated
|
||||||
|
@ -222,7 +222,7 @@ error: `...` range patterns are deprecated
|
||||||
LL | if let X...3 = 0 {}
|
LL | if let X...3 = 0 {}
|
||||||
| ^^^ help: use `..=` for an inclusive range
|
| ^^^ help: use `..=` for an inclusive range
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: `...` range patterns are deprecated
|
error: `...` range patterns are deprecated
|
||||||
|
@ -231,7 +231,7 @@ error: `...` range patterns are deprecated
|
||||||
LL | if let X...Y = 0 {}
|
LL | if let X...Y = 0 {}
|
||||||
| ^^^ help: use `..=` for an inclusive range
|
| ^^^ help: use `..=` for an inclusive range
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: `...` range patterns are deprecated
|
error: `...` range patterns are deprecated
|
||||||
|
@ -240,7 +240,7 @@ error: `...` range patterns are deprecated
|
||||||
LL | if let true...Y = 0 {}
|
LL | if let true...Y = 0 {}
|
||||||
| ^^^ help: use `..=` for an inclusive range
|
| ^^^ help: use `..=` for an inclusive range
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: `...` range patterns are deprecated
|
error: `...` range patterns are deprecated
|
||||||
|
@ -249,7 +249,7 @@ error: `...` range patterns are deprecated
|
||||||
LL | if let X...true = 0 {}
|
LL | if let X...true = 0 {}
|
||||||
| ^^^ help: use `..=` for an inclusive range
|
| ^^^ help: use `..=` for an inclusive range
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: `...` range patterns are deprecated
|
error: `...` range patterns are deprecated
|
||||||
|
@ -258,7 +258,7 @@ error: `...` range patterns are deprecated
|
||||||
LL | if let .0...Y = 0 {}
|
LL | if let .0...Y = 0 {}
|
||||||
| ^^^ help: use `..=` for an inclusive range
|
| ^^^ help: use `..=` for an inclusive range
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: `...` range patterns are deprecated
|
error: `...` range patterns are deprecated
|
||||||
|
@ -267,7 +267,7 @@ error: `...` range patterns are deprecated
|
||||||
LL | if let X... .0 = 0 {}
|
LL | if let X... .0 = 0 {}
|
||||||
| ^^^ help: use `..=` for an inclusive range
|
| ^^^ help: use `..=` for an inclusive range
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: `...` range patterns are deprecated
|
error: `...` range patterns are deprecated
|
||||||
|
@ -279,7 +279,7 @@ LL | let $e1...$e2;
|
||||||
LL | mac2!(0, 1);
|
LL | mac2!(0, 1);
|
||||||
| ------------ in this macro invocation
|
| ------------ in this macro invocation
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
= note: this error originates in the macro `mac2` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the macro `mac2` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
|
|
|
@ -9,15 +9,15 @@ fn main() {
|
||||||
//~^ ERROR `?Trait` is not permitted in trait object types
|
//~^ ERROR `?Trait` is not permitted in trait object types
|
||||||
//~| ERROR only auto traits can be used as additional traits
|
//~| ERROR only auto traits can be used as additional traits
|
||||||
//~| WARN trait objects without an explicit `dyn` are deprecated
|
//~| WARN trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
let _: Box<?Sized + (for<'a> Trait<'a>) + (Obj)>;
|
let _: Box<?Sized + (for<'a> Trait<'a>) + (Obj)>;
|
||||||
//~^ ERROR `?Trait` is not permitted in trait object types
|
//~^ ERROR `?Trait` is not permitted in trait object types
|
||||||
//~| ERROR only auto traits can be used as additional traits
|
//~| ERROR only auto traits can be used as additional traits
|
||||||
//~| WARN trait objects without an explicit `dyn` are deprecated
|
//~| WARN trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
let _: Box<for<'a> Trait<'a> + (Obj) + (?Sized)>;
|
let _: Box<for<'a> Trait<'a> + (Obj) + (?Sized)>;
|
||||||
//~^ ERROR `?Trait` is not permitted in trait object types
|
//~^ ERROR `?Trait` is not permitted in trait object types
|
||||||
//~| ERROR only auto traits can be used as additional traits
|
//~| ERROR only auto traits can be used as additional traits
|
||||||
//~| WARN trait objects without an explicit `dyn` are deprecated
|
//~| WARN trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ LL | let _: Box<(Obj) + (?Sized) + (for<'a> Trait<'a>)>;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (Obj) + (?Sized) + (for<'a> Trait<'a>)`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (Obj) + (?Sized) + (for<'a> Trait<'a>)`
|
||||||
|
|
|
|
||||||
= note: `#[warn(bare_trait_objects)]` on by default
|
= note: `#[warn(bare_trait_objects)]` on by default
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
warning: trait objects without an explicit `dyn` are deprecated
|
warning: trait objects without an explicit `dyn` are deprecated
|
||||||
|
@ -32,7 +32,7 @@ warning: trait objects without an explicit `dyn` are deprecated
|
||||||
LL | let _: Box<?Sized + (for<'a> Trait<'a>) + (Obj)>;
|
LL | let _: Box<?Sized + (for<'a> Trait<'a>) + (Obj)>;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ?Sized + (for<'a> Trait<'a>) + (Obj)`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ?Sized + (for<'a> Trait<'a>) + (Obj)`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
warning: trait objects without an explicit `dyn` are deprecated
|
warning: trait objects without an explicit `dyn` are deprecated
|
||||||
|
@ -41,7 +41,7 @@ warning: trait objects without an explicit `dyn` are deprecated
|
||||||
LL | let _: Box<for<'a> Trait<'a> + (Obj) + (?Sized)>;
|
LL | let _: Box<for<'a> Trait<'a> + (Obj) + (?Sized)>;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> Trait<'a> + (Obj) + (?Sized)`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn for<'a> Trait<'a> + (Obj) + (?Sized)`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error[E0225]: only auto traits can be used as additional traits in a trait object
|
error[E0225]: only auto traits can be used as additional traits in a trait object
|
||||||
|
|
|
@ -10,7 +10,7 @@ pub fn main() {
|
||||||
match &12 {
|
match &12 {
|
||||||
&(0..=9) => {}
|
&(0..=9) => {}
|
||||||
//~^ WARN `...` range patterns are deprecated
|
//~^ WARN `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| HELP use `..=` for an inclusive range
|
//~| HELP use `..=` for an inclusive range
|
||||||
&(10 ..=15) => {}
|
&(10 ..=15) => {}
|
||||||
//~^ ERROR the range pattern here has ambiguous interpretation
|
//~^ ERROR the range pattern here has ambiguous interpretation
|
||||||
|
|
|
@ -10,7 +10,7 @@ pub fn main() {
|
||||||
match &12 {
|
match &12 {
|
||||||
&0...9 => {}
|
&0...9 => {}
|
||||||
//~^ WARN `...` range patterns are deprecated
|
//~^ WARN `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| HELP use `..=` for an inclusive range
|
//~| HELP use `..=` for an inclusive range
|
||||||
&10..=15 => {}
|
&10..=15 => {}
|
||||||
//~^ ERROR the range pattern here has ambiguous interpretation
|
//~^ ERROR the range pattern here has ambiguous interpretation
|
||||||
|
|
|
@ -15,7 +15,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![warn(ellipsis_inclusive_range_patterns)]
|
LL | #![warn(ellipsis_inclusive_range_patterns)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: aborting due to previous error; 1 warning emitted
|
error: aborting due to previous error; 1 warning emitted
|
||||||
|
|
|
@ -9,7 +9,7 @@ fn main() {
|
||||||
// FIXME: can we add suggestions like `&(0..=9)`?
|
// FIXME: can we add suggestions like `&(0..=9)`?
|
||||||
box 0...9 => {}
|
box 0...9 => {}
|
||||||
//~^ WARN `...` range patterns are deprecated
|
//~^ WARN `...` range patterns are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| HELP use `..=` for an inclusive range
|
//~| HELP use `..=` for an inclusive range
|
||||||
box 10..=15 => {}
|
box 10..=15 => {}
|
||||||
//~^ ERROR the range pattern here has ambiguous interpretation
|
//~^ ERROR the range pattern here has ambiguous interpretation
|
||||||
|
|
|
@ -15,7 +15,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![warn(ellipsis_inclusive_range_patterns)]
|
LL | #![warn(ellipsis_inclusive_range_patterns)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: aborting due to previous error; 1 warning emitted
|
error: aborting due to previous error; 1 warning emitted
|
||||||
|
|
|
@ -7,5 +7,5 @@
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let async = 3; //~ ERROR: is a keyword
|
let async = 3; //~ ERROR: is a keyword
|
||||||
//~^ WARN this is valid in the current edition
|
//~^ WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ note: the lint level is defined here
|
||||||
LL | #![deny(rust_2018_compatibility)]
|
LL | #![deny(rust_2018_compatibility)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
= note: `#[deny(keyword_idents)]` implied by `#[deny(rust_2018_compatibility)]`
|
= note: `#[deny(keyword_idents)]` implied by `#[deny(rust_2018_compatibility)]`
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: aborting due to previous error
|
error: aborting due to previous error
|
||||||
|
|
|
@ -5,20 +5,20 @@
|
||||||
// run-rustfix
|
// run-rustfix
|
||||||
|
|
||||||
fn r#async() {} //~ ERROR async
|
fn r#async() {} //~ ERROR async
|
||||||
//~^ WARN this is valid in the current edition
|
//~^ WARN this is accepted in the current edition
|
||||||
|
|
||||||
macro_rules! foo {
|
macro_rules! foo {
|
||||||
($foo:ident) => {};
|
($foo:ident) => {};
|
||||||
($r#async:expr, r#async) => {};
|
($r#async:expr, r#async) => {};
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| ERROR async
|
//~| ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
foo!(r#async);
|
foo!(r#async);
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
mod dont_lint_raw {
|
mod dont_lint_raw {
|
||||||
fn r#async() {}
|
fn r#async() {}
|
||||||
|
@ -27,53 +27,53 @@ mod dont_lint_raw {
|
||||||
mod async_trait {
|
mod async_trait {
|
||||||
trait r#async {}
|
trait r#async {}
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
struct MyStruct;
|
struct MyStruct;
|
||||||
impl r#async for MyStruct {}
|
impl r#async for MyStruct {}
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
mod async_static {
|
mod async_static {
|
||||||
static r#async: u32 = 0;
|
static r#async: u32 = 0;
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
mod async_const {
|
mod async_const {
|
||||||
const r#async: u32 = 0;
|
const r#async: u32 = 0;
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Foo;
|
struct Foo;
|
||||||
impl Foo { fn r#async() {} }
|
impl Foo { fn r#async() {} }
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
struct r#async {}
|
struct r#async {}
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
let r#async: r#async = r#async {};
|
let r#async: r#async = r#async {};
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR async
|
//~| ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR async
|
//~| ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! produces_async {
|
macro_rules! produces_async {
|
||||||
() => (pub fn r#async() {})
|
() => (pub fn r#async() {})
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! consumes_async {
|
macro_rules! consumes_async {
|
||||||
(r#async) => (1)
|
(r#async) => (1)
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,20 +5,20 @@
|
||||||
// run-rustfix
|
// run-rustfix
|
||||||
|
|
||||||
fn async() {} //~ ERROR async
|
fn async() {} //~ ERROR async
|
||||||
//~^ WARN this is valid in the current edition
|
//~^ WARN this is accepted in the current edition
|
||||||
|
|
||||||
macro_rules! foo {
|
macro_rules! foo {
|
||||||
($foo:ident) => {};
|
($foo:ident) => {};
|
||||||
($async:expr, async) => {};
|
($async:expr, async) => {};
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| ERROR async
|
//~| ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
foo!(async);
|
foo!(async);
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
mod dont_lint_raw {
|
mod dont_lint_raw {
|
||||||
fn r#async() {}
|
fn r#async() {}
|
||||||
|
@ -27,53 +27,53 @@ mod dont_lint_raw {
|
||||||
mod async_trait {
|
mod async_trait {
|
||||||
trait async {}
|
trait async {}
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
struct MyStruct;
|
struct MyStruct;
|
||||||
impl async for MyStruct {}
|
impl async for MyStruct {}
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
mod async_static {
|
mod async_static {
|
||||||
static async: u32 = 0;
|
static async: u32 = 0;
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
mod async_const {
|
mod async_const {
|
||||||
const async: u32 = 0;
|
const async: u32 = 0;
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Foo;
|
struct Foo;
|
||||||
impl Foo { fn async() {} }
|
impl Foo { fn async() {} }
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
struct async {}
|
struct async {}
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
let async: async = async {};
|
let async: async = async {};
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR async
|
//~| ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
//~| ERROR async
|
//~| ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! produces_async {
|
macro_rules! produces_async {
|
||||||
() => (pub fn async() {})
|
() => (pub fn async() {})
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! consumes_async {
|
macro_rules! consumes_async {
|
||||||
(async) => (1)
|
(async) => (1)
|
||||||
//~^ ERROR async
|
//~^ ERROR async
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![deny(keyword_idents)]
|
LL | #![deny(keyword_idents)]
|
||||||
| ^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -18,7 +18,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | ($async:expr, async) => {};
|
LL | ($async:expr, async) => {};
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -27,7 +27,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | ($async:expr, async) => {};
|
LL | ($async:expr, async) => {};
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -36,7 +36,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | foo!(async);
|
LL | foo!(async);
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -45,7 +45,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | trait async {}
|
LL | trait async {}
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -54,7 +54,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | impl async for MyStruct {}
|
LL | impl async for MyStruct {}
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -63,7 +63,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | static async: u32 = 0;
|
LL | static async: u32 = 0;
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -72,7 +72,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | const async: u32 = 0;
|
LL | const async: u32 = 0;
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -81,7 +81,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | impl Foo { fn async() {} }
|
LL | impl Foo { fn async() {} }
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -90,7 +90,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | struct async {}
|
LL | struct async {}
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -99,7 +99,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | let async: async = async {};
|
LL | let async: async = async {};
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -108,7 +108,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | let async: async = async {};
|
LL | let async: async = async {};
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -117,7 +117,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | let async: async = async {};
|
LL | let async: async = async {};
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -126,7 +126,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | () => (pub fn async() {})
|
LL | () => (pub fn async() {})
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: `async` is a keyword in the 2018 edition
|
error: `async` is a keyword in the 2018 edition
|
||||||
|
@ -135,7 +135,7 @@ error: `async` is a keyword in the 2018 edition
|
||||||
LL | (async) => (1)
|
LL | (async) => (1)
|
||||||
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
| ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: aborting due to 15 previous errors
|
error: aborting due to 15 previous errors
|
||||||
|
|
|
@ -6,5 +6,5 @@
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let r#dyn = (); //~ ERROR dyn
|
let r#dyn = (); //~ ERROR dyn
|
||||||
//~^ WARN this is valid in the current edition
|
//~^ WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,5 +6,5 @@
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let dyn = (); //~ ERROR dyn
|
let dyn = (); //~ ERROR dyn
|
||||||
//~^ WARN this is valid in the current edition
|
//~^ WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![deny(keyword_idents)]
|
LL | #![deny(keyword_idents)]
|
||||||
| ^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
error: aborting due to previous error
|
error: aborting due to previous error
|
||||||
|
|
|
@ -8,20 +8,19 @@ mod foo {
|
||||||
type Bar;
|
type Bar;
|
||||||
}
|
}
|
||||||
|
|
||||||
crate struct Baz { }
|
crate struct Baz {}
|
||||||
|
|
||||||
impl Foo for Baz {
|
impl Foo for Baz {
|
||||||
type Bar = ();
|
type Bar = ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let _: <foo::Baz as crate::foo::Foo>::Bar = ();
|
let _: <foo::Baz as crate::foo::Foo>::Bar = ();
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| this is valid in the current edition
|
//~| this is accepted in the current edition
|
||||||
|
|
||||||
let _: <crate::foo::Baz as foo::Foo>::Bar = ();
|
let _: <crate::foo::Baz as foo::Foo>::Bar = ();
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| this is valid in the current edition
|
//~| this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,20 +8,19 @@ mod foo {
|
||||||
type Bar;
|
type Bar;
|
||||||
}
|
}
|
||||||
|
|
||||||
crate struct Baz { }
|
crate struct Baz {}
|
||||||
|
|
||||||
impl Foo for Baz {
|
impl Foo for Baz {
|
||||||
type Bar = ();
|
type Bar = ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let _: <foo::Baz as ::foo::Foo>::Bar = ();
|
let _: <foo::Baz as ::foo::Foo>::Bar = ();
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| this is valid in the current edition
|
//~| this is accepted in the current edition
|
||||||
|
|
||||||
let _: <::foo::Baz as foo::Foo>::Bar = ();
|
let _: <::foo::Baz as foo::Foo>::Bar = ();
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| this is valid in the current edition
|
//~| this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
||||||
--> $DIR/edition-lint-fully-qualified-paths.rs:20:25
|
--> $DIR/edition-lint-fully-qualified-paths.rs:19:25
|
||||||
|
|
|
|
||||||
LL | let _: <foo::Baz as ::foo::Foo>::Bar = ();
|
LL | let _: <foo::Baz as ::foo::Foo>::Bar = ();
|
||||||
| ^^^^^^^^^^ help: use `crate`: `crate::foo::Foo`
|
| ^^^^^^^^^^ help: use `crate`: `crate::foo::Foo`
|
||||||
|
@ -9,16 +9,16 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![deny(absolute_paths_not_starting_with_crate)]
|
LL | #![deny(absolute_paths_not_starting_with_crate)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
||||||
--> $DIR/edition-lint-fully-qualified-paths.rs:24:13
|
--> $DIR/edition-lint-fully-qualified-paths.rs:23:13
|
||||||
|
|
|
|
||||||
LL | let _: <::foo::Baz as foo::Foo>::Bar = ();
|
LL | let _: <::foo::Baz as foo::Foo>::Bar = ();
|
||||||
| ^^^^^^^^^^ help: use `crate`: `crate::foo::Baz`
|
| ^^^^^^^^^^ help: use `crate`: `crate::foo::Baz`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: aborting due to 2 previous errors
|
error: aborting due to 2 previous errors
|
||||||
|
|
|
@ -16,15 +16,15 @@ crate mod foo {
|
||||||
|
|
||||||
use crate::foo::{bar::{baz::{}}};
|
use crate::foo::{bar::{baz::{}}};
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
use crate::foo::{bar::{XX, baz::{}}};
|
use crate::foo::{bar::{XX, baz::{}}};
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
use crate::foo::{bar::{baz::{}, baz1::{}}};
|
use crate::foo::{bar::{baz::{}, baz1::{}}};
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,15 +16,15 @@ crate mod foo {
|
||||||
|
|
||||||
use foo::{bar::{baz::{}}};
|
use foo::{bar::{baz::{}}};
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
use foo::{bar::{XX, baz::{}}};
|
use foo::{bar::{XX, baz::{}}};
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
use foo::{bar::{baz::{}, baz1::{}}};
|
use foo::{bar::{baz::{}, baz1::{}}};
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![deny(absolute_paths_not_starting_with_crate)]
|
LL | #![deny(absolute_paths_not_starting_with_crate)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
||||||
|
@ -18,7 +18,7 @@ error: absolute paths must start with `self`, `super`, `crate`, or an external c
|
||||||
LL | use foo::{bar::{XX, baz::{}}};
|
LL | use foo::{bar::{XX, baz::{}}};
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::foo::{bar::{XX, baz::{}}}`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::foo::{bar::{XX, baz::{}}}`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
||||||
|
@ -27,7 +27,7 @@ error: absolute paths must start with `self`, `super`, `crate`, or an external c
|
||||||
LL | use foo::{bar::{baz::{}, baz1::{}}};
|
LL | use foo::{bar::{baz::{}, baz1::{}}};
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::foo::{bar::{baz::{}, baz1::{}}}`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::foo::{bar::{baz::{}, baz1::{}}}`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: aborting due to 3 previous errors
|
error: aborting due to 3 previous errors
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
use crate::foo::{a, b};
|
use crate::foo::{a, b};
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| this is valid in the current edition
|
//~| this is accepted in the current edition
|
||||||
|
|
||||||
mod foo {
|
mod foo {
|
||||||
crate fn a() {}
|
crate fn a() {}
|
||||||
|
@ -20,7 +20,7 @@ fn main() {
|
||||||
{
|
{
|
||||||
use crate::foo::{self as x, c};
|
use crate::foo::{self as x, c};
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| this is valid in the current edition
|
//~| this is accepted in the current edition
|
||||||
x::a();
|
x::a();
|
||||||
c();
|
c();
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
use foo::{a, b};
|
use foo::{a, b};
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| this is valid in the current edition
|
//~| this is accepted in the current edition
|
||||||
|
|
||||||
mod foo {
|
mod foo {
|
||||||
crate fn a() {}
|
crate fn a() {}
|
||||||
|
@ -20,7 +20,7 @@ fn main() {
|
||||||
{
|
{
|
||||||
use foo::{self as x, c};
|
use foo::{self as x, c};
|
||||||
//~^ ERROR absolute paths must start with
|
//~^ ERROR absolute paths must start with
|
||||||
//~| this is valid in the current edition
|
//~| this is accepted in the current edition
|
||||||
x::a();
|
x::a();
|
||||||
c();
|
c();
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![deny(absolute_paths_not_starting_with_crate)]
|
LL | #![deny(absolute_paths_not_starting_with_crate)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
||||||
|
@ -18,7 +18,7 @@ error: absolute paths must start with `self`, `super`, `crate`, or an external c
|
||||||
LL | use foo::{self as x, c};
|
LL | use foo::{self as x, c};
|
||||||
| ^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::foo::{self as x, c}`
|
| ^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::foo::{self as x, c}`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: aborting due to 2 previous errors
|
error: aborting due to 2 previous errors
|
||||||
|
|
|
@ -11,30 +11,29 @@ pub mod foo {
|
||||||
use edition_lint_paths;
|
use edition_lint_paths;
|
||||||
use crate::bar::Bar;
|
use crate::bar::Bar;
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
use super::bar::Bar2;
|
use super::bar::Bar2;
|
||||||
use crate::bar::Bar3;
|
use crate::bar::Bar3;
|
||||||
|
|
||||||
use crate::bar;
|
use crate::bar;
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
use crate::{bar as something_else};
|
use crate::bar as something_else;
|
||||||
|
|
||||||
use crate::{Bar as SomethingElse, main};
|
use crate::{main, Bar as SomethingElse};
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
use crate::{Bar as SomethingElse2, main as another_main};
|
use crate::{main as another_main, Bar as SomethingElse2};
|
||||||
|
|
||||||
pub fn test() {
|
pub fn test() {}
|
||||||
}
|
|
||||||
|
|
||||||
pub trait SomeTrait { }
|
pub trait SomeTrait {}
|
||||||
}
|
}
|
||||||
|
|
||||||
use crate::bar::Bar;
|
use crate::bar::Bar;
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
pub mod bar {
|
pub mod bar {
|
||||||
use edition_lint_paths as foo;
|
use edition_lint_paths as foo;
|
||||||
|
@ -46,17 +45,17 @@ pub mod bar {
|
||||||
mod baz {
|
mod baz {
|
||||||
use crate::*;
|
use crate::*;
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
impl crate::foo::SomeTrait for u32 { }
|
impl crate::foo::SomeTrait for u32 {}
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let x = crate::bar::Bar;
|
let x = crate::bar::Bar;
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
let x = bar::Bar;
|
let x = bar::Bar;
|
||||||
let x = crate::bar::Bar;
|
let x = crate::bar::Bar;
|
||||||
let x = self::bar::Bar;
|
let x = self::bar::Bar;
|
||||||
|
|
|
@ -9,32 +9,31 @@ extern crate edition_lint_paths;
|
||||||
|
|
||||||
pub mod foo {
|
pub mod foo {
|
||||||
use edition_lint_paths;
|
use edition_lint_paths;
|
||||||
use ::bar::Bar;
|
use bar::Bar;
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
use super::bar::Bar2;
|
use super::bar::Bar2;
|
||||||
use crate::bar::Bar3;
|
use crate::bar::Bar3;
|
||||||
|
|
||||||
use bar;
|
use bar;
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
use crate::{bar as something_else};
|
use crate::bar as something_else;
|
||||||
|
|
||||||
use {Bar as SomethingElse, main};
|
use {main, Bar as SomethingElse};
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
use crate::{Bar as SomethingElse2, main as another_main};
|
use crate::{main as another_main, Bar as SomethingElse2};
|
||||||
|
|
||||||
pub fn test() {
|
pub fn test() {}
|
||||||
}
|
|
||||||
|
|
||||||
pub trait SomeTrait { }
|
pub trait SomeTrait {}
|
||||||
}
|
}
|
||||||
|
|
||||||
use bar::Bar;
|
use bar::Bar;
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
pub mod bar {
|
pub mod bar {
|
||||||
use edition_lint_paths as foo;
|
use edition_lint_paths as foo;
|
||||||
|
@ -46,17 +45,17 @@ pub mod bar {
|
||||||
mod baz {
|
mod baz {
|
||||||
use *;
|
use *;
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ::foo::SomeTrait for u32 { }
|
impl ::foo::SomeTrait for u32 {}
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let x = ::bar::Bar;
|
let x = ::bar::Bar;
|
||||||
//~^ ERROR absolute
|
//~^ ERROR absolute
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
let x = bar::Bar;
|
let x = bar::Bar;
|
||||||
let x = crate::bar::Bar;
|
let x = crate::bar::Bar;
|
||||||
let x = self::bar::Bar;
|
let x = self::bar::Bar;
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
||||||
--> $DIR/edition-lint-paths.rs:12:9
|
--> $DIR/edition-lint-paths.rs:12:9
|
||||||
|
|
|
|
||||||
LL | use ::bar::Bar;
|
LL | use bar::Bar;
|
||||||
| ^^^^^^^^^^ help: use `crate`: `crate::bar::Bar`
|
| ^^^^^^^^ help: use `crate`: `crate::bar::Bar`
|
||||||
|
|
|
|
||||||
note: the lint level is defined here
|
note: the lint level is defined here
|
||||||
--> $DIR/edition-lint-paths.rs:5:9
|
--> $DIR/edition-lint-paths.rs:5:9
|
||||||
|
|
|
|
||||||
LL | #![deny(absolute_paths_not_starting_with_crate)]
|
LL | #![deny(absolute_paths_not_starting_with_crate)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
||||||
|
@ -18,52 +18,52 @@ error: absolute paths must start with `self`, `super`, `crate`, or an external c
|
||||||
LL | use bar;
|
LL | use bar;
|
||||||
| ^^^ help: use `crate`: `crate::bar`
|
| ^^^ help: use `crate`: `crate::bar`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
||||||
--> $DIR/edition-lint-paths.rs:23:9
|
--> $DIR/edition-lint-paths.rs:23:9
|
||||||
|
|
|
|
||||||
LL | use {Bar as SomethingElse, main};
|
LL | use {main, Bar as SomethingElse};
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::{Bar as SomethingElse, main}`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::{main, Bar as SomethingElse}`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
||||||
--> $DIR/edition-lint-paths.rs:35:5
|
--> $DIR/edition-lint-paths.rs:34:5
|
||||||
|
|
|
|
||||||
LL | use bar::Bar;
|
LL | use bar::Bar;
|
||||||
| ^^^^^^^^ help: use `crate`: `crate::bar::Bar`
|
| ^^^^^^^^ help: use `crate`: `crate::bar::Bar`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
||||||
--> $DIR/edition-lint-paths.rs:47:9
|
--> $DIR/edition-lint-paths.rs:46:9
|
||||||
|
|
|
|
||||||
LL | use *;
|
LL | use *;
|
||||||
| ^ help: use `crate`: `crate::*`
|
| ^ help: use `crate`: `crate::*`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
||||||
--> $DIR/edition-lint-paths.rs:52:6
|
--> $DIR/edition-lint-paths.rs:51:6
|
||||||
|
|
|
|
||||||
LL | impl ::foo::SomeTrait for u32 { }
|
LL | impl ::foo::SomeTrait for u32 {}
|
||||||
| ^^^^^^^^^^^^^^^^ help: use `crate`: `crate::foo::SomeTrait`
|
| ^^^^^^^^^^^^^^^^ help: use `crate`: `crate::foo::SomeTrait`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
error: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
|
||||||
--> $DIR/edition-lint-paths.rs:57:13
|
--> $DIR/edition-lint-paths.rs:56:13
|
||||||
|
|
|
|
||||||
LL | let x = ::bar::Bar;
|
LL | let x = ::bar::Bar;
|
||||||
| ^^^^^^^^^^ help: use `crate`: `crate::bar::Bar`
|
| ^^^^^^^^^^ help: use `crate`: `crate::bar::Bar`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: aborting due to 7 previous errors
|
error: aborting due to 7 previous errors
|
||||||
|
|
|
@ -11,7 +11,7 @@ extern crate edition_lint_paths as my_crate;
|
||||||
|
|
||||||
use crate::my_crate::foo;
|
use crate::my_crate::foo;
|
||||||
//~^ ERROR absolute paths must start
|
//~^ ERROR absolute paths must start
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
foo();
|
foo();
|
||||||
|
|
|
@ -11,7 +11,7 @@ extern crate edition_lint_paths as my_crate;
|
||||||
|
|
||||||
use my_crate::foo;
|
use my_crate::foo;
|
||||||
//~^ ERROR absolute paths must start
|
//~^ ERROR absolute paths must start
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
foo();
|
foo();
|
||||||
|
|
|
@ -9,7 +9,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![deny(absolute_paths_not_starting_with_crate)]
|
LL | #![deny(absolute_paths_not_starting_with_crate)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: aborting due to previous error
|
error: aborting due to previous error
|
||||||
|
|
|
@ -18,7 +18,7 @@ mod m {
|
||||||
// *could* rewrite it to `use edition_lint_paths::foo`
|
// *could* rewrite it to `use edition_lint_paths::foo`
|
||||||
use crate::m::edition_lint_paths::foo;
|
use crate::m::edition_lint_paths::foo;
|
||||||
//~^ ERROR absolute paths must start
|
//~^ ERROR absolute paths must start
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
foo();
|
foo();
|
||||||
|
|
|
@ -18,7 +18,7 @@ mod m {
|
||||||
// *could* rewrite it to `use edition_lint_paths::foo`
|
// *could* rewrite it to `use edition_lint_paths::foo`
|
||||||
use m::edition_lint_paths::foo;
|
use m::edition_lint_paths::foo;
|
||||||
//~^ ERROR absolute paths must start
|
//~^ ERROR absolute paths must start
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
foo();
|
foo();
|
||||||
|
|
|
@ -9,7 +9,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![deny(absolute_paths_not_starting_with_crate)]
|
LL | #![deny(absolute_paths_not_starting_with_crate)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
= note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>
|
||||||
|
|
||||||
error: aborting due to previous error
|
error: aborting due to previous error
|
||||||
|
|
|
@ -6,10 +6,10 @@
|
||||||
fn main() {
|
fn main() {
|
||||||
r#try();
|
r#try();
|
||||||
//~^ WARNING `try` is a keyword in the 2018 edition
|
//~^ WARNING `try` is a keyword in the 2018 edition
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
fn r#try() {
|
fn r#try() {
|
||||||
//~^ WARNING `try` is a keyword in the 2018 edition
|
//~^ WARNING `try` is a keyword in the 2018 edition
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,10 +6,10 @@
|
||||||
fn main() {
|
fn main() {
|
||||||
try();
|
try();
|
||||||
//~^ WARNING `try` is a keyword in the 2018 edition
|
//~^ WARNING `try` is a keyword in the 2018 edition
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
fn try() {
|
fn try() {
|
||||||
//~^ WARNING `try` is a keyword in the 2018 edition
|
//~^ WARNING `try` is a keyword in the 2018 edition
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ note: the lint level is defined here
|
||||||
LL | #![warn(rust_2018_compatibility)]
|
LL | #![warn(rust_2018_compatibility)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
= note: `#[warn(keyword_idents)]` implied by `#[warn(rust_2018_compatibility)]`
|
= note: `#[warn(keyword_idents)]` implied by `#[warn(rust_2018_compatibility)]`
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
warning: `try` is a keyword in the 2018 edition
|
warning: `try` is a keyword in the 2018 edition
|
||||||
|
@ -19,7 +19,7 @@ warning: `try` is a keyword in the 2018 edition
|
||||||
LL | fn try() {
|
LL | fn try() {
|
||||||
| ^^^ help: you can use a raw identifier to stay compatible: `r#try`
|
| ^^^ help: you can use a raw identifier to stay compatible: `r#try`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
warning: 2 warnings emitted
|
warning: 2 warnings emitted
|
||||||
|
|
|
@ -11,8 +11,8 @@ fn foo() -> Result<usize, ()> {
|
||||||
let x: Result<usize, ()> = Ok(22);
|
let x: Result<usize, ()> = Ok(22);
|
||||||
r#try!(x);
|
r#try!(x);
|
||||||
//~^ WARNING `try` is a keyword in the 2018 edition
|
//~^ WARNING `try` is a keyword in the 2018 edition
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
Ok(44)
|
Ok(44)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() { }
|
fn main() {}
|
||||||
|
|
|
@ -11,8 +11,8 @@ fn foo() -> Result<usize, ()> {
|
||||||
let x: Result<usize, ()> = Ok(22);
|
let x: Result<usize, ()> = Ok(22);
|
||||||
try!(x);
|
try!(x);
|
||||||
//~^ WARNING `try` is a keyword in the 2018 edition
|
//~^ WARNING `try` is a keyword in the 2018 edition
|
||||||
//~| WARNING this is valid in the current edition
|
//~| WARNING this is accepted in the current edition
|
||||||
Ok(44)
|
Ok(44)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() { }
|
fn main() {}
|
||||||
|
|
|
@ -10,7 +10,7 @@ note: the lint level is defined here
|
||||||
LL | #![warn(rust_2018_compatibility)]
|
LL | #![warn(rust_2018_compatibility)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
= note: `#[warn(keyword_idents)]` implied by `#[warn(rust_2018_compatibility)]`
|
= note: `#[warn(keyword_idents)]` implied by `#[warn(rust_2018_compatibility)]`
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2018 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
|
||||||
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
= note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>
|
||||||
|
|
||||||
warning: 1 warning emitted
|
warning: 1 warning emitted
|
||||||
|
|
|
@ -17,11 +17,11 @@ pub struct Qux<T>(T);
|
||||||
#[dom_struct]
|
#[dom_struct]
|
||||||
pub struct Foo {
|
pub struct Foo {
|
||||||
//~^ ERROR trait objects without an explicit `dyn` are deprecated [bare_trait_objects]
|
//~^ ERROR trait objects without an explicit `dyn` are deprecated [bare_trait_objects]
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
qux: Qux<Qux<Baz>>,
|
qux: Qux<Qux<Baz>>,
|
||||||
bar: Box<Bar>,
|
bar: Box<Bar>,
|
||||||
//~^ ERROR trait objects without an explicit `dyn` are deprecated [bare_trait_objects]
|
//~^ ERROR trait objects without an explicit `dyn` are deprecated [bare_trait_objects]
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -9,7 +9,7 @@ note: the lint level is defined here
|
||||||
|
|
|
|
||||||
LL | #![deny(bare_trait_objects)]
|
LL | #![deny(bare_trait_objects)]
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: trait objects without an explicit `dyn` are deprecated
|
error: trait objects without an explicit `dyn` are deprecated
|
||||||
|
@ -18,7 +18,7 @@ error: trait objects without an explicit `dyn` are deprecated
|
||||||
LL | pub struct Foo {
|
LL | pub struct Foo {
|
||||||
| ^^^ help: use `dyn`: `dyn pub`
|
| ^^^ help: use `dyn`: `dyn pub`
|
||||||
|
|
|
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error: aborting due to 2 previous errors
|
error: aborting due to 2 previous errors
|
||||||
|
|
|
@ -7,7 +7,7 @@ trait Foo {
|
||||||
fn foo(_x: Foo + Send) {
|
fn foo(_x: Foo + Send) {
|
||||||
//~^ ERROR the size for values of type
|
//~^ ERROR the size for values of type
|
||||||
//~| WARN trait objects without an explicit `dyn` are deprecated
|
//~| WARN trait objects without an explicit `dyn` are deprecated
|
||||||
//~| WARN this is valid in the current edition
|
//~| WARN this is accepted in the current edition
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -5,7 +5,7 @@ LL | fn foo(_x: Foo + Send) {
|
||||||
| ^^^^^^^^^^ help: use `dyn`: `dyn Foo + Send`
|
| ^^^^^^^^^^ help: use `dyn`: `dyn Foo + Send`
|
||||||
|
|
|
|
||||||
= note: `#[warn(bare_trait_objects)]` on by default
|
= note: `#[warn(bare_trait_objects)]` on by default
|
||||||
= warning: this is valid in the current edition (Rust 2015) but is not accepted in the Rust 2021 edition!
|
= warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
|
||||||
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
= note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
|
||||||
|
|
||||||
error[E0277]: the size for values of type `(dyn Foo + Send + 'static)` cannot be known at compilation time
|
error[E0277]: the size for values of type `(dyn Foo + Send + 'static)` cannot be known at compilation time
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue