From 32a31d8acaf8521712a49f53feabd7d98844ef73 Mon Sep 17 00:00:00 2001
From: Yuki Okushi <jtitor@2k36.org>
Date: Wed, 21 Dec 2022 21:10:30 +0900
Subject: [PATCH] Add regression test for #96530

Signed-off-by: Yuki Okushi <jtitor@2k36.org>
---
 src/test/ui/typeck/issue-96530.rs     | 20 ++++++++++++++++++++
 src/test/ui/typeck/issue-96530.stderr |  9 +++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 src/test/ui/typeck/issue-96530.rs
 create mode 100644 src/test/ui/typeck/issue-96530.stderr

diff --git a/src/test/ui/typeck/issue-96530.rs b/src/test/ui/typeck/issue-96530.rs
new file mode 100644
index 0000000000000..4ab93ab4938f4
--- /dev/null
+++ b/src/test/ui/typeck/issue-96530.rs
@@ -0,0 +1,20 @@
+struct Person {
+    first_name: String,
+    age: u32,
+}
+
+fn first_woman(man: &Person) -> Person {
+    Person {
+        first_name: "Eve".to_string(),
+        ..man.clone() //~ ERROR: mismatched types
+    }
+}
+
+fn main() {
+    let adam = Person {
+        first_name: "Adam".to_string(),
+        age: 0,
+    };
+
+    let eve = first_woman(&adam);
+}
diff --git a/src/test/ui/typeck/issue-96530.stderr b/src/test/ui/typeck/issue-96530.stderr
new file mode 100644
index 0000000000000..4b4568b1de9b2
--- /dev/null
+++ b/src/test/ui/typeck/issue-96530.stderr
@@ -0,0 +1,9 @@
+error[E0308]: mismatched types
+  --> $DIR/issue-96530.rs:9:11
+   |
+LL |         ..man.clone()
+   |           ^^^^^^^^^^^ expected struct `Person`, found `&Person`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.