summaryrefslogtreecommitdiffstats
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 000000000..14dd01766
--- /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);
+}