]> git.lizzy.rs Git - rust.git/commitdiff
rustc/driver: simplify profile::trace::cons
authorljedrz <ljedrz@gmail.com>
Fri, 12 Oct 2018 11:55:35 +0000 (13:55 +0200)
committerljedrz <ljedrz@gmail.com>
Fri, 12 Oct 2018 11:55:35 +0000 (13:55 +0200)
src/librustc_driver/profile/trace.rs

index e329b037d22aafce284a8e8337467d9fb7fe863e..7896195a7428e80b8127c427083b4fe4ac56e7d9 100644 (file)
@@ -43,18 +43,18 @@ pub struct QueryMetric {
     pub dur_total: Duration,
 }
 
+fn cons(s: &str) -> String {
+    let first = s.split(|d| d == '(' || d == '{').next();
+    assert!(first.is_some() && first != Some(""));
+    first.unwrap().to_owned()
+}
+
 pub fn cons_of_query_msg(q: &trace::Query) -> String {
-    let s = format!("{:?}", q.msg);
-    let cons: Vec<&str> = s.split(|d| d == '(' || d == '{').collect();
-    assert!(cons.len() > 0 && cons[0] != "");
-    cons[0].to_string()
+    cons(&format!("{:?}", q.msg))
 }
 
 pub fn cons_of_key(k: &DepNode) -> String {
-    let s = format!("{:?}", k);
-    let cons: Vec<&str> = s.split(|d| d == '(' || d == '{').collect();
-    assert!(cons.len() > 0 && cons[0] != "");
-    cons[0].to_string()
+    cons(&format!("{:?}", k))
 }
 
 // First return value is text; second return value is a CSS class