summaryrefslogtreecommitdiffstats
path: root/src/test/ui/error-codes/E0283.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/error-codes/E0283.rs')
-rw-r--r--src/test/ui/error-codes/E0283.rs37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/test/ui/error-codes/E0283.rs b/src/test/ui/error-codes/E0283.rs
new file mode 100644
index 000000000..0643af4b7
--- /dev/null
+++ b/src/test/ui/error-codes/E0283.rs
@@ -0,0 +1,37 @@
+trait Generator {
+ fn create() -> u32;
+}
+
+struct Impl;
+
+impl Generator for Impl {
+ fn create() -> u32 { 1 }
+}
+
+impl Impl {
+ fn new() -> Self {
+ Impl{}
+ }
+}
+
+impl Into<u32> for Impl {
+ fn into(self) -> u32 { 1 }
+}
+
+fn foo(bar: u32) {}
+
+struct AnotherImpl;
+
+impl Generator for AnotherImpl {
+ fn create() -> u32 { 2 }
+}
+
+fn main() {
+ let cont: u32 = Generator::create(); //~ ERROR E0790
+}
+
+fn buzz() {
+ let foo_impl = Impl::new();
+ let bar = foo_impl.into() * 1u32; //~ ERROR E0283
+ foo(bar);
+}