about summary refs log tree commit diff
path: root/src/test/ui/codegen
diff options
context:
space:
mode:
authorCaio <c410.f3r@gmail.com>2022-05-01 08:47:38 -0300
committerCaio <c410.f3r@gmail.com>2022-05-01 08:47:38 -0300
commitbff6f6dffbce9be08423cc8457c9b805f0af01f9 (patch)
tree4ddd51b583a784cd03f6a188b33969e6d921e54c /src/test/ui/codegen
parentf75d884046e07bb26edeaba9b8c982dc97485fd5 (diff)
downloadrust-bff6f6dffbce9be08423cc8457c9b805f0af01f9.tar.gz
rust-bff6f6dffbce9be08423cc8457c9b805f0af01f9.zip
Move some tests to more reasonable places
Diffstat (limited to 'src/test/ui/codegen')
-rw-r--r--src/test/ui/codegen/issue-16602-1.rs6
-rw-r--r--src/test/ui/codegen/issue-16602-2.rs12
-rw-r--r--src/test/ui/codegen/issue-16602-3.rs27
3 files changed, 45 insertions, 0 deletions
diff --git a/src/test/ui/codegen/issue-16602-1.rs b/src/test/ui/codegen/issue-16602-1.rs
new file mode 100644
index 00000000000..dd64ee75b34
--- /dev/null
+++ b/src/test/ui/codegen/issue-16602-1.rs
@@ -0,0 +1,6 @@
+// run-pass
+fn main() {
+    let mut t = [1; 2];
+    t = [t[1] * 2, t[0] * 2];
+    assert_eq!(&t[..], &[2, 2]);
+}
diff --git a/src/test/ui/codegen/issue-16602-2.rs b/src/test/ui/codegen/issue-16602-2.rs
new file mode 100644
index 00000000000..6364630ffa9
--- /dev/null
+++ b/src/test/ui/codegen/issue-16602-2.rs
@@ -0,0 +1,12 @@
+// run-pass
+struct A {
+    pub x: u32,
+    pub y: u32,
+}
+
+fn main() {
+    let mut a = A { x: 1, y: 1 };
+    a = A { x: a.y * 2, y: a.x * 2 };
+    assert_eq!(a.x, 2);
+    assert_eq!(a.y, 2);
+}
diff --git a/src/test/ui/codegen/issue-16602-3.rs b/src/test/ui/codegen/issue-16602-3.rs
new file mode 100644
index 00000000000..dbfeef053da
--- /dev/null
+++ b/src/test/ui/codegen/issue-16602-3.rs
@@ -0,0 +1,27 @@
+// run-pass
+#![allow(unused_variables)]
+#![allow(unused_assignments)]
+#[derive(Debug)]
+enum Foo {
+    Bar(u32, u32),
+    Baz(&'static u32, &'static u32)
+}
+
+static NUM: u32 = 100;
+
+fn main () {
+    let mut b = Foo::Baz(&NUM, &NUM);
+    b = Foo::Bar(f(&b), g(&b));
+}
+
+static FNUM: u32 = 1;
+
+fn f (b: &Foo) -> u32 {
+    FNUM
+}
+
+static GNUM: u32 = 2;
+
+fn g (b: &Foo) -> u32 {
+    GNUM
+}