From b4bbe784a9dc1f97f07e2543c6f726cb1eb4cc86 Mon Sep 17 00:00:00 2001 From: Esteban Küber Date: Mon, 13 Jan 2020 16:13:51 -0800 Subject: Make `impl Trait` suggestion in E0746 `MachineApplicable` --- src/test/ui/error-codes/E0746.fixed | 18 ++++++++++++++++++ src/test/ui/error-codes/E0746.rs | 2 ++ src/test/ui/error-codes/E0746.stderr | 4 ++-- 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 src/test/ui/error-codes/E0746.fixed (limited to 'src/test/ui/error-codes') diff --git a/src/test/ui/error-codes/E0746.fixed b/src/test/ui/error-codes/E0746.fixed new file mode 100644 index 00000000000..ca8319aa020 --- /dev/null +++ b/src/test/ui/error-codes/E0746.fixed @@ -0,0 +1,18 @@ +// run-rustfix +#![allow(dead_code)] +struct Struct; +trait Trait {} +impl Trait for Struct {} +impl Trait for u32 {} + +fn foo() -> impl Trait { Struct } +//~^ ERROR E0746 + +fn bar() -> impl Trait { //~ ERROR E0746 + if true { + return 0; + } + 42 +} + +fn main() {} diff --git a/src/test/ui/error-codes/E0746.rs b/src/test/ui/error-codes/E0746.rs index c9ab455a4c5..bf5ba8fff56 100644 --- a/src/test/ui/error-codes/E0746.rs +++ b/src/test/ui/error-codes/E0746.rs @@ -1,3 +1,5 @@ +// run-rustfix +#![allow(dead_code)] struct Struct; trait Trait {} impl Trait for Struct {} diff --git a/src/test/ui/error-codes/E0746.stderr b/src/test/ui/error-codes/E0746.stderr index 44bd0d7ed7d..0cffd108226 100644 --- a/src/test/ui/error-codes/E0746.stderr +++ b/src/test/ui/error-codes/E0746.stderr @@ -1,5 +1,5 @@ error[E0746]: return type cannot have a bare trait because it must be `Sized` - --> $DIR/E0746.rs:6:13 + --> $DIR/E0746.rs:8:13 | LL | fn foo() -> dyn Trait { Struct } | ^^^^^^^^^ doesn't have a size known at compile-time @@ -11,7 +11,7 @@ LL | fn foo() -> impl Trait { Struct } | ^^^^^^^^^^ error[E0746]: return type cannot have a bare trait because it must be `Sized` - --> $DIR/E0746.rs:9:13 + --> $DIR/E0746.rs:11:13 | LL | fn bar() -> dyn Trait { | ^^^^^^^^^ doesn't have a size known at compile-time -- cgit 1.4.1-3-g733a5