about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-10-28 16:15:17 +0000
committerbors <bors@rust-lang.org>2017-10-28 16:15:17 +0000
commit2e6a1a9fb49f30e41316fb374b12301a3445ae8d (patch)
tree862d68e4d973e86a543a089b99ce776df8b1b945 /src/libsyntax
parentdce604a8fe85c22beb53d99c609d88e3a0ca9320 (diff)
parent014100df49a9f6926a52ecd4576b99e11a42033b (diff)
downloadrust-2e6a1a9fb49f30e41316fb374b12301a3445ae8d.tar.gz
rust-2e6a1a9fb49f30e41316fb374b12301a3445ae8d.zip
Auto merge of #45489 - oli-obk:json_diagnostics, r=petrochenkov
Fix a quadradic duplication in json for multi-suggestions

r? @petrochenkov
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/json.rs26
1 files changed, 9 insertions, 17 deletions
diff --git a/src/libsyntax/json.rs b/src/libsyntax/json.rs
index db49ab10343..b8151819bff 100644
--- a/src/libsyntax/json.rs
+++ b/src/libsyntax/json.rs
@@ -153,17 +153,15 @@ impl Diagnostic {
     fn from_diagnostic_builder(db: &DiagnosticBuilder,
                                je: &JsonEmitter)
                                -> Diagnostic {
-        let sugg = db.suggestions.iter().flat_map(|sugg| {
-            je.render(sugg).into_iter().map(move |rendered| {
-                Diagnostic {
-                    message: sugg.msg.clone(),
-                    code: None,
-                    level: "help",
-                    spans: DiagnosticSpan::from_suggestion(sugg, je),
-                    children: vec![],
-                    rendered: Some(rendered),
-                }
-            })
+        let sugg = db.suggestions.iter().map(|sugg| {
+            Diagnostic {
+                message: sugg.msg.clone(),
+                code: None,
+                level: "help",
+                spans: DiagnosticSpan::from_suggestion(sugg, je),
+                children: vec![],
+                rendered: None,
+            }
         });
         Diagnostic {
             message: db.message(),
@@ -356,9 +354,3 @@ impl DiagnosticCode {
         })
     }
 }
-
-impl JsonEmitter {
-    fn render(&self, suggestion: &CodeSuggestion) -> Vec<String> {
-        suggestion.splice_lines(&*self.cm).iter().map(|line| line.0.to_owned()).collect()
-    }
-}