1
Fork 0

A SubstitutionPart is not a deletion if it replaces nothing with nothing

This commit is contained in:
Michael Goulet 2022-09-11 19:19:07 +00:00
parent 52e003a6e9
commit 370c816a71
21 changed files with 130 additions and 198 deletions

View file

@ -1704,7 +1704,7 @@ impl EmitterWriter {
{ {
notice_capitalization |= only_capitalization; notice_capitalization |= only_capitalization;
let has_deletion = parts.iter().any(|p| p.is_deletion()); let has_deletion = parts.iter().any(|p| p.is_deletion(sm));
let is_multiline = complete.lines().count() > 1; let is_multiline = complete.lines().count() > 1;
if let Some(span) = span.primary_span() { if let Some(span) = span.primary_span() {

View file

@ -150,20 +150,19 @@ pub struct SubstitutionHighlight {
impl SubstitutionPart { impl SubstitutionPart {
pub fn is_addition(&self, sm: &SourceMap) -> bool { pub fn is_addition(&self, sm: &SourceMap) -> bool {
!self.snippet.is_empty() !self.snippet.is_empty() && !self.replaces_meaningful_content(sm)
&& sm
.span_to_snippet(self.span)
.map_or(self.span.is_empty(), |snippet| snippet.trim().is_empty())
} }
pub fn is_deletion(&self) -> bool { pub fn is_deletion(&self, sm: &SourceMap) -> bool {
self.snippet.trim().is_empty() self.snippet.trim().is_empty() && self.replaces_meaningful_content(sm)
} }
pub fn is_replacement(&self, sm: &SourceMap) -> bool { pub fn is_replacement(&self, sm: &SourceMap) -> bool {
!self.snippet.is_empty() !self.snippet.is_empty() && self.replaces_meaningful_content(sm)
&& sm }
.span_to_snippet(self.span)
fn replaces_meaningful_content(&self, sm: &SourceMap) -> bool {
sm.span_to_snippet(self.span)
.map_or(!self.span.is_empty(), |snippet| !snippet.trim().is_empty()) .map_or(!self.span.is_empty(), |snippet| !snippet.trim().is_empty())
} }
} }

View file

@ -13,9 +13,8 @@ LL | #[deny(bare_trait_objects)]
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - fn function(x: &SomeTrait, y: Box<SomeTrait>) { LL | fn function(x: &dyn SomeTrait, y: Box<SomeTrait>) {
LL + fn function(x: &dyn SomeTrait, y: Box<SomeTrait>) { | +++
|
error: trait objects without an explicit `dyn` are deprecated error: trait objects without an explicit `dyn` are deprecated
--> $DIR/dyn-2018-edition-lint.rs:4:35 --> $DIR/dyn-2018-edition-lint.rs:4:35
@ -27,9 +26,8 @@ LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) {
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - fn function(x: &SomeTrait, y: Box<SomeTrait>) { LL | fn function(x: &SomeTrait, y: Box<dyn SomeTrait>) {
LL + fn function(x: &SomeTrait, y: Box<dyn SomeTrait>) { | +++
|
error: trait objects without an explicit `dyn` are deprecated error: trait objects without an explicit `dyn` are deprecated
--> $DIR/dyn-2018-edition-lint.rs:17:14 --> $DIR/dyn-2018-edition-lint.rs:17:14
@ -41,9 +39,8 @@ LL | let _x: &SomeTrait = todo!();
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - let _x: &SomeTrait = todo!(); LL | let _x: &dyn SomeTrait = todo!();
LL + let _x: &dyn SomeTrait = todo!(); | +++
|
error: trait objects without an explicit `dyn` are deprecated error: trait objects without an explicit `dyn` are deprecated
--> $DIR/dyn-2018-edition-lint.rs:4:17 --> $DIR/dyn-2018-edition-lint.rs:4:17
@ -55,9 +52,8 @@ LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) {
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - fn function(x: &SomeTrait, y: Box<SomeTrait>) { LL | fn function(x: &dyn SomeTrait, y: Box<SomeTrait>) {
LL + fn function(x: &dyn SomeTrait, y: Box<SomeTrait>) { | +++
|
error: trait objects without an explicit `dyn` are deprecated error: trait objects without an explicit `dyn` are deprecated
--> $DIR/dyn-2018-edition-lint.rs:4:17 --> $DIR/dyn-2018-edition-lint.rs:4:17
@ -69,9 +65,8 @@ LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) {
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - fn function(x: &SomeTrait, y: Box<SomeTrait>) { LL | fn function(x: &dyn SomeTrait, y: Box<SomeTrait>) {
LL + fn function(x: &dyn SomeTrait, y: Box<SomeTrait>) { | +++
|
error: trait objects without an explicit `dyn` are deprecated error: trait objects without an explicit `dyn` are deprecated
--> $DIR/dyn-2018-edition-lint.rs:4:35 --> $DIR/dyn-2018-edition-lint.rs:4:35
@ -83,9 +78,8 @@ LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) {
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - fn function(x: &SomeTrait, y: Box<SomeTrait>) { LL | fn function(x: &SomeTrait, y: Box<dyn SomeTrait>) {
LL + fn function(x: &SomeTrait, y: Box<dyn SomeTrait>) { | +++
|
error: trait objects without an explicit `dyn` are deprecated error: trait objects without an explicit `dyn` are deprecated
--> $DIR/dyn-2018-edition-lint.rs:4:35 --> $DIR/dyn-2018-edition-lint.rs:4:35
@ -97,9 +91,8 @@ LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) {
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - fn function(x: &SomeTrait, y: Box<SomeTrait>) { LL | fn function(x: &SomeTrait, y: Box<dyn SomeTrait>) {
LL + fn function(x: &SomeTrait, y: Box<dyn SomeTrait>) { | +++
|
error: aborting due to 7 previous errors error: aborting due to 7 previous errors

View file

@ -6,9 +6,8 @@ LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) {
| |
help: add `dyn` keyword before this trait help: add `dyn` keyword before this trait
| |
LL - fn function(x: &SomeTrait, y: Box<SomeTrait>) { LL | fn function(x: &dyn SomeTrait, y: Box<SomeTrait>) {
LL + fn function(x: &dyn SomeTrait, y: Box<SomeTrait>) { | +++
|
error[E0782]: trait objects must include the `dyn` keyword error[E0782]: trait objects must include the `dyn` keyword
--> $DIR/dyn-2021-edition-error.rs:3:35 --> $DIR/dyn-2021-edition-error.rs:3:35
@ -18,9 +17,8 @@ LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) {
| |
help: add `dyn` keyword before this trait help: add `dyn` keyword before this trait
| |
LL - fn function(x: &SomeTrait, y: Box<SomeTrait>) { LL | fn function(x: &SomeTrait, y: Box<dyn SomeTrait>) {
LL + fn function(x: &SomeTrait, y: Box<dyn SomeTrait>) { | +++
|
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View file

@ -13,9 +13,8 @@ LL | #![deny(bare_trait_objects)]
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - <fmt::Debug>::fmt(self, f) LL | <dyn fmt::Debug>::fmt(self, f)
LL + <dyn fmt::Debug>::fmt(self, f) | +++
|
error: aborting due to previous error error: aborting due to previous error

View file

@ -6,9 +6,8 @@ LL | fn ice() -> impl AsRef<Fn(&())> {
| |
help: add `dyn` keyword before this trait help: add `dyn` keyword before this trait
| |
LL - fn ice() -> impl AsRef<Fn(&())> { LL | fn ice() -> impl AsRef<dyn Fn(&())> {
LL + fn ice() -> impl AsRef<dyn Fn(&())> { | +++
|
error[E0277]: the trait bound `(): AsRef<(dyn for<'r> Fn(&'r ()) + 'static)>` is not satisfied error[E0277]: the trait bound `(): AsRef<(dyn for<'r> Fn(&'r ()) + 'static)>` is not satisfied
--> $DIR/generic-with-implicit-hrtb-without-dyn.rs:6:13 --> $DIR/generic-with-implicit-hrtb-without-dyn.rs:6:13

View file

@ -25,9 +25,8 @@ LL | eq::<dyn, Foo>
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - eq::<dyn, Foo> LL | eq::<dyn, dyn Foo>
LL + eq::<dyn, dyn Foo> | +++
|
error[E0107]: missing generics for trait `Foo` error[E0107]: missing generics for trait `Foo`
--> $DIR/issue-86756.rs:5:15 --> $DIR/issue-86756.rs:5:15

View file

@ -9,9 +9,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: trait objects without an explicit `dyn` are deprecated warning: trait objects without an explicit `dyn` are deprecated
--> $DIR/allowed-group-warn-by-default-lint.rs:10:25 --> $DIR/allowed-group-warn-by-default-lint.rs:10:25
@ -23,9 +22,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: trait objects without an explicit `dyn` are deprecated warning: trait objects without an explicit `dyn` are deprecated
--> $DIR/allowed-group-warn-by-default-lint.rs:10:25 --> $DIR/allowed-group-warn-by-default-lint.rs:10:25
@ -37,9 +35,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: 3 warnings emitted warning: 3 warnings emitted

View file

@ -9,9 +9,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: trait objects without an explicit `dyn` are deprecated warning: trait objects without an explicit `dyn` are deprecated
--> $DIR/cap-lints-allow.rs:8:25 --> $DIR/cap-lints-allow.rs:8:25
@ -23,9 +22,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: trait objects without an explicit `dyn` are deprecated warning: trait objects without an explicit `dyn` are deprecated
--> $DIR/cap-lints-allow.rs:8:25 --> $DIR/cap-lints-allow.rs:8:25
@ -37,9 +35,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: 3 warnings emitted warning: 3 warnings emitted

View file

@ -9,9 +9,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: trait objects without an explicit `dyn` are deprecated warning: trait objects without an explicit `dyn` are deprecated
--> $DIR/lint-group-allowed-cli-warn-by-default-lint.rs:8:25 --> $DIR/lint-group-allowed-cli-warn-by-default-lint.rs:8:25
@ -23,9 +22,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: trait objects without an explicit `dyn` are deprecated warning: trait objects without an explicit `dyn` are deprecated
--> $DIR/lint-group-allowed-cli-warn-by-default-lint.rs:8:25 --> $DIR/lint-group-allowed-cli-warn-by-default-lint.rs:8:25
@ -37,9 +35,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: 3 warnings emitted warning: 3 warnings emitted

View file

@ -9,9 +9,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: trait objects without an explicit `dyn` are deprecated warning: trait objects without an explicit `dyn` are deprecated
--> $DIR/lint-group-allowed-lint-group.rs:10:25 --> $DIR/lint-group-allowed-lint-group.rs:10:25
@ -23,9 +22,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: trait objects without an explicit `dyn` are deprecated warning: trait objects without an explicit `dyn` are deprecated
--> $DIR/lint-group-allowed-lint-group.rs:10:25 --> $DIR/lint-group-allowed-lint-group.rs:10:25
@ -37,9 +35,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: 3 warnings emitted warning: 3 warnings emitted

View file

@ -9,9 +9,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: trait objects without an explicit `dyn` are deprecated warning: trait objects without an explicit `dyn` are deprecated
--> $DIR/lint-group-allowed-warn-by-default-lint.rs:10:25 --> $DIR/lint-group-allowed-warn-by-default-lint.rs:10:25
@ -23,9 +22,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: trait objects without an explicit `dyn` are deprecated warning: trait objects without an explicit `dyn` are deprecated
--> $DIR/lint-group-allowed-warn-by-default-lint.rs:10:25 --> $DIR/lint-group-allowed-warn-by-default-lint.rs:10:25
@ -37,9 +35,8 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub fn function(_x: Box<SomeTrait>) {} LL | pub fn function(_x: Box<dyn SomeTrait>) {}
LL + pub fn function(_x: Box<dyn SomeTrait>) {} | +++
|
warning: 3 warnings emitted warning: 3 warnings emitted

View file

@ -8,9 +8,8 @@ help: use `+= 1` instead
| |
LL | { let tmp = i; i += 1; tmp }; LL | { let tmp = i; i += 1; tmp };
| +++++++++++ ~~~~~~~~~~~~~~~ | +++++++++++ ~~~~~~~~~~~~~~~
LL - i++; LL | i += 1;
LL + i += 1; | ~~~~
|
error: Rust has no postfix increment operator error: Rust has no postfix increment operator
--> $DIR/increment-notfixed.rs:17:12 --> $DIR/increment-notfixed.rs:17:12
@ -24,9 +23,8 @@ help: use `+= 1` instead
| |
LL | while { let tmp = i; i += 1; tmp } < 5 { LL | while { let tmp = i; i += 1; tmp } < 5 {
| +++++++++++ ~~~~~~~~~~~~~~~ | +++++++++++ ~~~~~~~~~~~~~~~
LL - while i++ < 5 { LL | while i += 1 < 5 {
LL + while i += 1 < 5 { | ~~~~
|
error: Rust has no postfix increment operator error: Rust has no postfix increment operator
--> $DIR/increment-notfixed.rs:25:8 --> $DIR/increment-notfixed.rs:25:8
@ -38,9 +36,8 @@ help: use `+= 1` instead
| |
LL | { let tmp_ = tmp; tmp += 1; tmp_ }; LL | { let tmp_ = tmp; tmp += 1; tmp_ };
| ++++++++++++ ~~~~~~~~~~~~~~~~~~ | ++++++++++++ ~~~~~~~~~~~~~~~~~~
LL - tmp++; LL | tmp += 1;
LL + tmp += 1; | ~~~~
|
error: Rust has no postfix increment operator error: Rust has no postfix increment operator
--> $DIR/increment-notfixed.rs:31:14 --> $DIR/increment-notfixed.rs:31:14
@ -54,9 +51,8 @@ help: use `+= 1` instead
| |
LL | while { let tmp_ = tmp; tmp += 1; tmp_ } < 5 { LL | while { let tmp_ = tmp; tmp += 1; tmp_ } < 5 {
| ++++++++++++ ~~~~~~~~~~~~~~~~~~ | ++++++++++++ ~~~~~~~~~~~~~~~~~~
LL - while tmp++ < 5 { LL | while tmp += 1 < 5 {
LL + while tmp += 1 < 5 { | ~~~~
|
error: Rust has no postfix increment operator error: Rust has no postfix increment operator
--> $DIR/increment-notfixed.rs:39:16 --> $DIR/increment-notfixed.rs:39:16
@ -68,9 +64,8 @@ help: use `+= 1` instead
| |
LL | { let tmp = foo.bar.qux; foo.bar.qux += 1; tmp }; LL | { let tmp = foo.bar.qux; foo.bar.qux += 1; tmp };
| +++++++++++ ~~~~~~~~~~~~~~~~~~~~~~~~~ | +++++++++++ ~~~~~~~~~~~~~~~~~~~~~~~~~
LL - foo.bar.qux++; LL | foo.bar.qux += 1;
LL + foo.bar.qux += 1; | ~~~~
|
error: Rust has no postfix increment operator error: Rust has no postfix increment operator
--> $DIR/increment-notfixed.rs:49:10 --> $DIR/increment-notfixed.rs:49:10
@ -82,9 +77,8 @@ help: use `+= 1` instead
| |
LL | { let tmp = s.tmp; s.tmp += 1; tmp }; LL | { let tmp = s.tmp; s.tmp += 1; tmp };
| +++++++++++ ~~~~~~~~~~~~~~~~~~~ | +++++++++++ ~~~~~~~~~~~~~~~~~~~
LL - s.tmp++; LL | s.tmp += 1;
LL + s.tmp += 1; | ~~~~
|
error: Rust has no prefix increment operator error: Rust has no prefix increment operator
--> $DIR/increment-notfixed.rs:56:5 --> $DIR/increment-notfixed.rs:56:5

View file

@ -27,9 +27,8 @@ LL | let _: Box<(Obj) + (?Sized) + (for<'a> Trait<'a>)>;
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - let _: Box<(Obj) + (?Sized) + (for<'a> Trait<'a>)>; LL | let _: Box<dyn (Obj) + (?Sized) + (for<'a> Trait<'a>)>;
LL + let _: Box<dyn (Obj) + (?Sized) + (for<'a> Trait<'a>)>; | +++
|
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
--> $DIR/trait-object-trait-parens.rs:8:35 --> $DIR/trait-object-trait-parens.rs:8:35
@ -52,9 +51,8 @@ LL | let _: Box<?Sized + (for<'a> Trait<'a>) + (Obj)>;
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - let _: Box<?Sized + (for<'a> Trait<'a>) + (Obj)>; LL | let _: Box<dyn ?Sized + (for<'a> Trait<'a>) + (Obj)>;
LL + let _: Box<dyn ?Sized + (for<'a> Trait<'a>) + (Obj)>; | +++
|
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
--> $DIR/trait-object-trait-parens.rs:13:47 --> $DIR/trait-object-trait-parens.rs:13:47
@ -77,9 +75,8 @@ LL | let _: Box<for<'a> Trait<'a> + (Obj) + (?Sized)>;
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - let _: Box<for<'a> Trait<'a> + (Obj) + (?Sized)>; LL | let _: Box<dyn for<'a> Trait<'a> + (Obj) + (?Sized)>;
LL + let _: Box<dyn for<'a> Trait<'a> + (Obj) + (?Sized)>; | +++
|
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
--> $DIR/trait-object-trait-parens.rs:18:36 --> $DIR/trait-object-trait-parens.rs:18:36

View file

@ -13,8 +13,7 @@ LL | #![warn(rust_2021_prefixes_incompatible_syntax)]
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html>
help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021 help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021
| |
LL - m2!(z"hey"); LL | m2!(z "hey");
LL + m2!(z "hey");
| |
warning: prefix `prefix` is unknown warning: prefix `prefix` is unknown
@ -27,8 +26,7 @@ LL | m2!(prefix"hey");
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html>
help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021 help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021
| |
LL - m2!(prefix"hey"); LL | m2!(prefix "hey");
LL + m2!(prefix "hey");
| |
warning: prefix `hey` is unknown warning: prefix `hey` is unknown
@ -41,8 +39,7 @@ LL | m3!(hey#123);
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html>
help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021 help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021
| |
LL - m3!(hey#123); LL | m3!(hey #123);
LL + m3!(hey #123);
| |
warning: prefix `hey` is unknown warning: prefix `hey` is unknown
@ -55,8 +52,7 @@ LL | m3!(hey#hey);
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html>
help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021 help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021
| |
LL - m3!(hey#hey); LL | m3!(hey #hey);
LL + m3!(hey #hey);
| |
warning: prefix `kind` is unknown warning: prefix `kind` is unknown
@ -69,8 +65,7 @@ LL | #name = #kind#value
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html>
help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021 help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021
| |
LL - #name = #kind#value LL | #name = #kind #value
LL + #name = #kind #value
| |
warning: 5 warnings emitted warning: 5 warnings emitted

View file

@ -7,8 +7,7 @@ LL | demo3!(foo#bar);
= note: prefixed identifiers and literals are reserved since Rust 2021 = note: prefixed identifiers and literals are reserved since Rust 2021
help: consider inserting whitespace here help: consider inserting whitespace here
| |
LL - demo3!(foo#bar); LL | demo3!(foo #bar);
LL + demo3!(foo #bar);
| |
error: prefix `foo` is unknown error: prefix `foo` is unknown
@ -20,8 +19,7 @@ LL | demo2!(foo"bar");
= note: prefixed identifiers and literals are reserved since Rust 2021 = note: prefixed identifiers and literals are reserved since Rust 2021
help: consider inserting whitespace here help: consider inserting whitespace here
| |
LL - demo2!(foo"bar"); LL | demo2!(foo "bar");
LL + demo2!(foo "bar");
| |
error: prefix `foo` is unknown error: prefix `foo` is unknown
@ -33,8 +31,7 @@ LL | demo2!(foo'b');
= note: prefixed identifiers and literals are reserved since Rust 2021 = note: prefixed identifiers and literals are reserved since Rust 2021
help: consider inserting whitespace here help: consider inserting whitespace here
| |
LL - demo2!(foo'b'); LL | demo2!(foo 'b');
LL + demo2!(foo 'b');
| |
error: prefix `foo` is unknown error: prefix `foo` is unknown
@ -46,8 +43,7 @@ LL | demo2!(foo'b);
= note: prefixed identifiers and literals are reserved since Rust 2021 = note: prefixed identifiers and literals are reserved since Rust 2021
help: consider inserting whitespace here help: consider inserting whitespace here
| |
LL - demo2!(foo'b); LL | demo2!(foo 'b);
LL + demo2!(foo 'b);
| |
error: prefix `foo` is unknown error: prefix `foo` is unknown
@ -59,8 +55,7 @@ LL | demo3!(foo# bar);
= note: prefixed identifiers and literals are reserved since Rust 2021 = note: prefixed identifiers and literals are reserved since Rust 2021
help: consider inserting whitespace here help: consider inserting whitespace here
| |
LL - demo3!(foo# bar); LL | demo3!(foo # bar);
LL + demo3!(foo # bar);
| |
error: prefix `foo` is unknown error: prefix `foo` is unknown
@ -72,8 +67,7 @@ LL | demo4!(foo#! bar);
= note: prefixed identifiers and literals are reserved since Rust 2021 = note: prefixed identifiers and literals are reserved since Rust 2021
help: consider inserting whitespace here help: consider inserting whitespace here
| |
LL - demo4!(foo#! bar); LL | demo4!(foo #! bar);
LL + demo4!(foo #! bar);
| |
error: prefix `foo` is unknown error: prefix `foo` is unknown
@ -85,8 +79,7 @@ LL | demo4!(foo## bar);
= note: prefixed identifiers and literals are reserved since Rust 2021 = note: prefixed identifiers and literals are reserved since Rust 2021
help: consider inserting whitespace here help: consider inserting whitespace here
| |
LL - demo4!(foo## bar); LL | demo4!(foo ## bar);
LL + demo4!(foo ## bar);
| |
error: prefix `foo` is unknown error: prefix `foo` is unknown
@ -98,8 +91,7 @@ LL | demo4!(foo#bar#);
= note: prefixed identifiers and literals are reserved since Rust 2021 = note: prefixed identifiers and literals are reserved since Rust 2021
help: consider inserting whitespace here help: consider inserting whitespace here
| |
LL - demo4!(foo#bar#); LL | demo4!(foo #bar#);
LL + demo4!(foo #bar#);
| |
error: prefix `bar` is unknown error: prefix `bar` is unknown
@ -111,8 +103,7 @@ LL | demo4!(foo#bar#);
= note: prefixed identifiers and literals are reserved since Rust 2021 = note: prefixed identifiers and literals are reserved since Rust 2021
help: consider inserting whitespace here help: consider inserting whitespace here
| |
LL - demo4!(foo#bar#); LL | demo4!(foo#bar #);
LL + demo4!(foo#bar #);
| |
error: aborting due to 9 previous errors error: aborting due to 9 previous errors

View file

@ -13,9 +13,8 @@ LL | #![deny(bare_trait_objects)]
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - bar: Box<Bar>, LL | bar: Box<dyn Bar>,
LL + bar: Box<dyn Bar>, | +++
|
error: trait objects without an explicit `dyn` are deprecated error: trait objects without an explicit `dyn` are deprecated
--> $DIR/issue-61963.rs:18:1 --> $DIR/issue-61963.rs:18:1
@ -27,9 +26,8 @@ LL | pub struct Foo {
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub struct Foo { LL | dyn pub struct Foo {
LL + dyn pub struct Foo { | +++
|
error: trait objects without an explicit `dyn` are deprecated error: trait objects without an explicit `dyn` are deprecated
--> $DIR/issue-61963.rs:28:14 --> $DIR/issue-61963.rs:28:14
@ -41,9 +39,8 @@ LL | bar: Box<Bar>,
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - bar: Box<Bar>, LL | bar: Box<dyn Bar>,
LL + bar: Box<dyn Bar>, | +++
|
error: trait objects without an explicit `dyn` are deprecated error: trait objects without an explicit `dyn` are deprecated
--> $DIR/issue-61963.rs:28:14 --> $DIR/issue-61963.rs:28:14
@ -55,9 +52,8 @@ LL | bar: Box<Bar>,
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - bar: Box<Bar>, LL | bar: Box<dyn Bar>,
LL + bar: Box<dyn Bar>, | +++
|
error: trait objects without an explicit `dyn` are deprecated error: trait objects without an explicit `dyn` are deprecated
--> $DIR/issue-61963.rs:18:1 --> $DIR/issue-61963.rs:18:1
@ -69,9 +65,8 @@ LL | pub struct Foo {
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub struct Foo { LL | dyn pub struct Foo {
LL + dyn pub struct Foo { | +++
|
error: trait objects without an explicit `dyn` are deprecated error: trait objects without an explicit `dyn` are deprecated
--> $DIR/issue-61963.rs:18:1 --> $DIR/issue-61963.rs:18:1
@ -83,9 +78,8 @@ LL | pub struct Foo {
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub struct Foo { LL | dyn pub struct Foo {
LL + dyn pub struct Foo { | +++
|
error: trait objects without an explicit `dyn` are deprecated error: trait objects without an explicit `dyn` are deprecated
--> $DIR/issue-61963.rs:18:1 --> $DIR/issue-61963.rs:18:1
@ -97,9 +91,8 @@ LL | pub struct Foo {
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - pub struct Foo { LL | dyn pub struct Foo {
LL + dyn pub struct Foo { | +++
|
error: aborting due to 7 previous errors error: aborting due to 7 previous errors

View file

@ -6,9 +6,8 @@ LL | impl LocalTraitTwo for LocalTraitOne {}
| |
help: add `dyn` keyword before this trait help: add `dyn` keyword before this trait
| |
LL - impl LocalTraitTwo for LocalTraitOne {} LL | impl LocalTraitTwo for dyn LocalTraitOne {}
LL + impl LocalTraitTwo for dyn LocalTraitOne {} | +++
|
help: alternatively use a blanket implementation to implement `LocalTraitTwo` for all types that also implement `LocalTraitOne` help: alternatively use a blanket implementation to implement `LocalTraitTwo` for all types that also implement `LocalTraitOne`
| |
LL | impl<T: LocalTraitOne> LocalTraitTwo for T {} LL | impl<T: LocalTraitOne> LocalTraitTwo for T {}
@ -22,9 +21,8 @@ LL | impl fmt::Display for LocalTraitOne {
| |
help: add `dyn` keyword before this trait help: add `dyn` keyword before this trait
| |
LL - impl fmt::Display for LocalTraitOne { LL | impl fmt::Display for dyn LocalTraitOne {
LL + impl fmt::Display for dyn LocalTraitOne { | +++
|
error[E0782]: trait objects must include the `dyn` keyword error[E0782]: trait objects must include the `dyn` keyword
--> $DIR/suggest-blanket-impl-local-trait.rs:26:23 --> $DIR/suggest-blanket-impl-local-trait.rs:26:23
@ -34,9 +32,8 @@ LL | impl fmt::Display for LocalTraitTwo + Send {
| |
help: add `dyn` keyword before this trait help: add `dyn` keyword before this trait
| |
LL - impl fmt::Display for LocalTraitTwo + Send { LL | impl fmt::Display for dyn LocalTraitTwo + Send {
LL + impl fmt::Display for dyn LocalTraitTwo + Send { | +++
|
error[E0782]: trait objects must include the `dyn` keyword error[E0782]: trait objects must include the `dyn` keyword
--> $DIR/suggest-blanket-impl-local-trait.rs:34:24 --> $DIR/suggest-blanket-impl-local-trait.rs:34:24
@ -46,9 +43,8 @@ LL | impl LocalTraitOne for fmt::Display {}
| |
help: add `dyn` keyword before this trait help: add `dyn` keyword before this trait
| |
LL - impl LocalTraitOne for fmt::Display {} LL | impl LocalTraitOne for dyn fmt::Display {}
LL + impl LocalTraitOne for dyn fmt::Display {} | +++
|
help: alternatively use a blanket implementation to implement `LocalTraitOne` for all types that also implement `fmt::Display` help: alternatively use a blanket implementation to implement `LocalTraitOne` for all types that also implement `fmt::Display`
| |
LL | impl<T: fmt::Display> LocalTraitOne for T {} LL | impl<T: fmt::Display> LocalTraitOne for T {}
@ -62,9 +58,8 @@ LL | impl LocalTraitOne for fmt::Display + Send {}
| |
help: add `dyn` keyword before this trait help: add `dyn` keyword before this trait
| |
LL - impl LocalTraitOne for fmt::Display + Send {} LL | impl LocalTraitOne for dyn fmt::Display + Send {}
LL + impl LocalTraitOne for dyn fmt::Display + Send {} | +++
|
help: alternatively use a blanket implementation to implement `LocalTraitOne` for all types that also implement `fmt::Display + Send` help: alternatively use a blanket implementation to implement `LocalTraitOne` for all types that also implement `fmt::Display + Send`
| |
LL | impl<T: fmt::Display + Send> LocalTraitOne for T {} LL | impl<T: fmt::Display + Send> LocalTraitOne for T {}
@ -78,9 +73,8 @@ LL | impl<E> GenericTrait<E> for LocalTraitOne {}
| |
help: add `dyn` keyword before this trait help: add `dyn` keyword before this trait
| |
LL - impl<E> GenericTrait<E> for LocalTraitOne {} LL | impl<E> GenericTrait<E> for dyn LocalTraitOne {}
LL + impl<E> GenericTrait<E> for dyn LocalTraitOne {} | +++
|
help: alternatively use a blanket implementation to implement `GenericTrait<E>` for all types that also implement `LocalTraitOne` help: alternatively use a blanket implementation to implement `GenericTrait<E>` for all types that also implement `LocalTraitOne`
| |
LL | impl<E, T: LocalTraitOne> GenericTrait<E> for T {} LL | impl<E, T: LocalTraitOne> GenericTrait<E> for T {}
@ -94,9 +88,8 @@ LL | impl<T, E> GenericTraitTwo<E> for GenericTrait<T> {}
| |
help: add `dyn` keyword before this trait help: add `dyn` keyword before this trait
| |
LL - impl<T, E> GenericTraitTwo<E> for GenericTrait<T> {} LL | impl<T, E> GenericTraitTwo<E> for dyn GenericTrait<T> {}
LL + impl<T, E> GenericTraitTwo<E> for dyn GenericTrait<T> {} | +++
|
help: alternatively use a blanket implementation to implement `GenericTraitTwo<E>` for all types that also implement `GenericTrait<T>` help: alternatively use a blanket implementation to implement `GenericTraitTwo<E>` for all types that also implement `GenericTrait<T>`
| |
LL | impl<T, E, U: GenericTrait<T>> GenericTraitTwo<E> for U {} LL | impl<T, E, U: GenericTrait<T>> GenericTraitTwo<E> for U {}

View file

@ -39,9 +39,8 @@ LL | impl<'a, T> Struct<T> for Trait<'a, T> {}
| |
help: add `dyn` keyword before this trait help: add `dyn` keyword before this trait
| |
LL - impl<'a, T> Struct<T> for Trait<'a, T> {} LL | impl<'a, T> Struct<T> for dyn Trait<'a, T> {}
LL + impl<'a, T> Struct<T> for dyn Trait<'a, T> {} | +++
|
error: aborting due to 4 previous errors error: aborting due to 4 previous errors

View file

@ -42,9 +42,8 @@ LL | impl<'a, T> Struct<T> for Trait<'a, T> {}
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - impl<'a, T> Struct<T> for Trait<'a, T> {} LL | impl<'a, T> Struct<T> for dyn Trait<'a, T> {}
LL + impl<'a, T> Struct<T> for dyn Trait<'a, T> {} | +++
|
error: aborting due to 3 previous errors; 1 warning emitted error: aborting due to 3 previous errors; 1 warning emitted

View file

@ -9,9 +9,8 @@ LL | fn foo(_x: Foo + Send) {
= note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html> = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn` help: use `dyn`
| |
LL - fn foo(_x: Foo + Send) { LL | fn foo(_x: dyn Foo + Send) {
LL + fn foo(_x: dyn Foo + Send) { | +++
|
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
--> $DIR/not-on-bare-trait.rs:7:8 --> $DIR/not-on-bare-trait.rs:7:8