summaryrefslogtreecommitdiffstats
path: root/tests/ui/moves/issue-34721.fixed
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 18:31:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 18:31:44 +0000
commitc23a457e72abe608715ac76f076f47dc42af07a5 (patch)
tree2772049aaf84b5c9d0ed12ec8d86812f7a7904b6 /tests/ui/moves/issue-34721.fixed
parentReleasing progress-linux version 1.73.0+dfsg1-1~progress7.99u1. (diff)
downloadrustc-c23a457e72abe608715ac76f076f47dc42af07a5.tar.xz
rustc-c23a457e72abe608715ac76f076f47dc42af07a5.zip
Merging upstream version 1.74.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/ui/moves/issue-34721.fixed')
-rw-r--r--tests/ui/moves/issue-34721.fixed34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/ui/moves/issue-34721.fixed b/tests/ui/moves/issue-34721.fixed
new file mode 100644
index 000000000..f135ad383
--- /dev/null
+++ b/tests/ui/moves/issue-34721.fixed
@@ -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 + Copy>(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);
+}