about summary refs log tree commit diff
path: root/tests/ui/issues/issue-34721.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/issues/issue-34721.rs')
-rw-r--r--tests/ui/issues/issue-34721.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/ui/issues/issue-34721.rs b/tests/ui/issues/issue-34721.rs
new file mode 100644
index 00000000000..14dd01766aa
--- /dev/null
+++ b/tests/ui/issues/issue-34721.rs
@@ -0,0 +1,34 @@
+// run-rustfix
+
+pub trait Foo {
+    fn zero(self) -> Self;
+}
+
+impl Foo for u32 {
+    fn zero(self) -> u32 { 0u32 }
+}
+
+pub mod bar {
+    pub use Foo;
+    pub fn bar<T: Foo>(x: T) -> T {
+      x.zero()
+    }
+}
+
+mod baz {
+    use bar;
+    use Foo;
+    pub fn baz<T: Foo>(x: T) -> T {
+        if 0 == 1 {
+            bar::bar(x.zero())
+        } else {
+            x.zero()
+        };
+        x.zero()
+        //~^ ERROR use of moved value
+    }
+}
+
+fn main() {
+    let _ = baz::baz(0u32);
+}