about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohann Hemmann <johann.hemmann@code.berlin>2024-01-04 17:29:20 +0100
committerJohann Hemmann <johann.hemmann@code.berlin>2024-01-04 17:29:20 +0100
commit594e0a5de6692e27fc4cc04cf01adcaf0b1ed904 (patch)
tree4bc9fe3d8d8b3bd4741be2d8c45672e6bf36af55
parentdbeb27e05d5469ec761621b353390e4ca39602b9 (diff)
downloadrust-594e0a5de6692e27fc4cc04cf01adcaf0b1ed904.tar.gz
rust-594e0a5de6692e27fc4cc04cf01adcaf0b1ed904.zip
Only compare range and label
-rw-r--r--crates/ide/src/inlay_hints.rs8
-rw-r--r--crates/ide/src/inlay_hints/chaining.rs233
2 files changed, 70 insertions, 171 deletions
diff --git a/crates/ide/src/inlay_hints.rs b/crates/ide/src/inlay_hints.rs
index e82d730e4a3..01ada25e1d9 100644
--- a/crates/ide/src/inlay_hints.rs
+++ b/crates/ide/src/inlay_hints.rs
@@ -658,7 +658,9 @@ mod tests {
     pub(super) fn check_expect(config: InlayHintsConfig, ra_fixture: &str, expect: Expect) {
         let (analysis, file_id) = fixture::file(ra_fixture);
         let inlay_hints = analysis.inlay_hints(&config, file_id, None).unwrap();
-        expect.assert_debug_eq(&inlay_hints)
+        let filtered =
+            inlay_hints.into_iter().map(|hint| (hint.range, hint.label)).collect::<Vec<_>>();
+        expect.assert_debug_eq(&filtered)
     }
 
     #[track_caller]
@@ -674,7 +676,9 @@ mod tests {
                 loc.range = TextRange::empty(TextSize::from(0));
             }
         });
-        expect.assert_debug_eq(&inlay_hints)
+        let filtered =
+            inlay_hints.into_iter().map(|hint| (hint.range, hint.label)).collect::<Vec<_>>();
+        expect.assert_debug_eq(&filtered)
     }
 
     /// Computes inlay hints for the fixture, applies all the provided text edits and then runs
diff --git a/crates/ide/src/inlay_hints/chaining.rs b/crates/ide/src/inlay_hints/chaining.rs
index c9e9a223786..f14687fc9e7 100644
--- a/crates/ide/src/inlay_hints/chaining.rs
+++ b/crates/ide/src/inlay_hints/chaining.rs
@@ -109,13 +109,9 @@ fn main() {
 "#,
             expect![[r#"
                 [
-                    InlayHint {
-                        range: 147..172,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    (
+                        147..172,
+                        [
                             "",
                             InlayHintLabelPart {
                                 text: "B",
@@ -131,16 +127,10 @@ fn main() {
                             },
                             "",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
-                    InlayHint {
-                        range: 147..154,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    ),
+                    (
+                        147..154,
+                        [
                             "",
                             InlayHintLabelPart {
                                 text: "A",
@@ -156,9 +146,7 @@ fn main() {
                             },
                             "",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
+                    ),
                 ]
             "#]],
         );
@@ -204,13 +192,9 @@ fn main() {
     }"#,
             expect![[r#"
                 [
-                    InlayHint {
-                        range: 143..190,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    (
+                        143..190,
+                        [
                             "",
                             InlayHintLabelPart {
                                 text: "C",
@@ -226,16 +210,10 @@ fn main() {
                             },
                             "",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
-                    InlayHint {
-                        range: 143..179,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    ),
+                    (
+                        143..179,
+                        [
                             "",
                             InlayHintLabelPart {
                                 text: "B",
@@ -251,9 +229,7 @@ fn main() {
                             },
                             "",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
+                    ),
                 ]
             "#]],
         );
@@ -283,13 +259,9 @@ fn main() {
 }"#,
             expect![[r#"
                 [
-                    InlayHint {
-                        range: 143..190,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    (
+                        143..190,
+                        [
                             "",
                             InlayHintLabelPart {
                                 text: "C",
@@ -305,16 +277,10 @@ fn main() {
                             },
                             "",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
-                    InlayHint {
-                        range: 143..179,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    ),
+                    (
+                        143..179,
+                        [
                             "",
                             InlayHintLabelPart {
                                 text: "B",
@@ -330,9 +296,7 @@ fn main() {
                             },
                             "",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
+                    ),
                 ]
             "#]],
         );
@@ -363,13 +327,9 @@ fn main() {
 "#,
             expect![[r#"
                 [
-                    InlayHint {
-                        range: 246..283,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    (
+                        246..283,
+                        [
                             "",
                             InlayHintLabelPart {
                                 text: "B",
@@ -398,16 +358,10 @@ fn main() {
                             },
                             "<i32, bool>>",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
-                    InlayHint {
-                        range: 246..265,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    ),
+                    (
+                        246..265,
+                        [
                             "",
                             InlayHintLabelPart {
                                 text: "A",
@@ -436,9 +390,7 @@ fn main() {
                             },
                             "<i32, bool>>",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
+                    ),
                 ]
             "#]],
         );
@@ -471,13 +423,9 @@ fn main() {
 "#,
             expect![[r#"
                 [
-                    InlayHint {
-                        range: 174..241,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    (
+                        174..241,
+                        [
                             "impl ",
                             InlayHintLabelPart {
                                 text: "Iterator",
@@ -506,16 +454,10 @@ fn main() {
                             },
                             " = ()>",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
-                    InlayHint {
-                        range: 174..224,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    ),
+                    (
+                        174..224,
+                        [
                             "impl ",
                             InlayHintLabelPart {
                                 text: "Iterator",
@@ -544,16 +486,10 @@ fn main() {
                             },
                             " = ()>",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
-                    InlayHint {
-                        range: 174..206,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    ),
+                    (
+                        174..206,
+                        [
                             "impl ",
                             InlayHintLabelPart {
                                 text: "Iterator",
@@ -582,16 +518,10 @@ fn main() {
                             },
                             " = ()>",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
-                    InlayHint {
-                        range: 174..189,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    ),
+                    (
+                        174..189,
+                        [
                             "&mut ",
                             InlayHintLabelPart {
                                 text: "MyIter",
@@ -607,9 +537,7 @@ fn main() {
                             },
                             "",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
+                    ),
                 ]
             "#]],
         );
@@ -639,13 +567,9 @@ fn main() {
 "#,
             expect![[r#"
                 [
-                    InlayHint {
-                        range: 124..130,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Type,
-                        label: [
+                    (
+                        124..130,
+                        [
                             "",
                             InlayHintLabelPart {
                                 text: "Struct",
@@ -661,25 +585,10 @@ fn main() {
                             },
                             "",
                         ],
-                        text_edit: Some(
-                            TextEdit {
-                                indels: [
-                                    Indel {
-                                        insert: ": Struct",
-                                        delete: 130..130,
-                                    },
-                                ],
-                            },
-                        ),
-                        needs_resolve: true,
-                    },
-                    InlayHint {
-                        range: 145..185,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    ),
+                    (
+                        145..185,
+                        [
                             "",
                             InlayHintLabelPart {
                                 text: "Struct",
@@ -695,16 +604,10 @@ fn main() {
                             },
                             "",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
-                    InlayHint {
-                        range: 145..168,
-                        position: After,
-                        pad_left: true,
-                        pad_right: false,
-                        kind: Chaining,
-                        label: [
+                    ),
+                    (
+                        145..168,
+                        [
                             "",
                             InlayHintLabelPart {
                                 text: "Struct",
@@ -720,16 +623,10 @@ fn main() {
                             },
                             "",
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
-                    InlayHint {
-                        range: 222..228,
-                        position: Before,
-                        pad_left: false,
-                        pad_right: true,
-                        kind: Parameter,
-                        label: [
+                    ),
+                    (
+                        222..228,
+                        [
                             InlayHintLabelPart {
                                 text: "self",
                                 linked_location: Some(
@@ -743,9 +640,7 @@ fn main() {
                                 tooltip: "",
                             },
                         ],
-                        text_edit: None,
-                        needs_resolve: true,
-                    },
+                    ),
                 ]
             "#]],
         );