]> git.lizzy.rs Git - rust.git/commitdiff
rustdoc: Avoid using `Iterator::count()` where possible
authorNoah Lev <camelidcamel@gmail.com>
Fri, 19 Nov 2021 04:04:51 +0000 (23:04 -0500)
committerNoah Lev <camelidcamel@gmail.com>
Fri, 19 Nov 2021 04:04:51 +0000 (23:04 -0500)
`count()` iterates over the whole collection. Using `len()` instead, or
`.next().is_none()` when comparing to zero, should be faster.

src/librustdoc/html/markdown.rs
src/librustdoc/passes/unindent_comments.rs

index 47772651bf9b9e92defd25a9ea1d0b8e32504228..d811c85ea58d1df2ac9ba658241d0431d1f9c3b5 100644 (file)
@@ -656,7 +656,7 @@ fn new(iter: I) -> Self {
     }
 
     fn get_entry(&mut self, key: &str) -> &mut (Vec<Event<'a>>, u16) {
-        let new_id = self.footnotes.keys().count() + 1;
+        let new_id = self.footnotes.len() + 1;
         let key = key.to_owned();
         self.footnotes.entry(key).or_insert((Vec::new(), new_id as u16))
     }
index da2eda73641228e737f6f70cab177bbc48511940..f42e7a97eb785f0eb44a6b030c359097da2ea312 100644 (file)
@@ -87,7 +87,7 @@ fn unindent_fragments(docs: &mut Vec<DocFragment>) {
     };
 
     for fragment in docs {
-        if fragment.doc.as_str().lines().count() == 0 {
+        if fragment.doc.as_str().lines().next().is_none() {
             continue;
         }