]> git.lizzy.rs Git - rust.git/commitdiff
Add missing test case for "Convert to named struct" assist
authorunexge <unexge@gmail.com>
Fri, 23 Apr 2021 13:18:10 +0000 (16:18 +0300)
committerunexge <unexge@gmail.com>
Fri, 23 Apr 2021 13:18:10 +0000 (16:18 +0300)
crates/ide_assists/src/handlers/convert_tuple_struct_to_named_struct.rs

index cac4bec3d1444586255d35f8d87760bbe81d20bd..b5b5ada5e757a609e2b951bfe6b8e0fc952b5a1b 100644 (file)
@@ -418,6 +418,46 @@ fn into_inner_destructed(self) -> u32 {
         let Outer(Inner { field1: x }) = self;
         x
     }
+}"#,
+        );
+
+        check_assist(
+            convert_tuple_struct_to_named_struct,
+            r#"
+struct Inner(u32);
+struct Outer$0(Inner);
+
+impl Outer {
+    fn new() -> Self {
+        Self(Inner(42))
+    }
+
+    fn into_inner(self) -> u32 {
+        (self.0).0
+    }
+
+    fn into_inner_destructed(self) -> u32 {
+        let Outer(Inner(x)) = self;
+        x
+    }
+}"#,
+            r#"
+struct Inner(u32);
+struct Outer { field1: Inner }
+
+impl Outer {
+    fn new() -> Self {
+        Self { field1: Inner(42) }
+    }
+
+    fn into_inner(self) -> u32 {
+        (self.field1).0
+    }
+
+    fn into_inner_destructed(self) -> u32 {
+        let Outer { field1: Inner(x) } = self;
+        x
+    }
 }"#,
         );
     }