diff options
| author | Phlosioneer <mattmdrr2@gmail.com> | 2018-03-20 05:33:59 -0400 |
|---|---|---|
| committer | Phlosioneer <mattmdrr2@gmail.com> | 2018-03-20 05:33:59 -0400 |
| commit | 619003d1d414167630331efffe83702f74413be6 (patch) | |
| tree | c986c64f37ab88feda2f7df926261e133d385aad /src/libsyntax_ext | |
| parent | 6bfa7d02d6713acd15ead20c199b808e85031f9e (diff) | |
| download | rust-619003d1d414167630331efffe83702f74413be6.tar.gz rust-619003d1d414167630331efffe83702f74413be6.zip | |
Implement some trivial size_hints for various iterators
This also implements ExactSizeIterator where applicable. Addresses most of the Iterator traits mentioned in #23708.
Diffstat (limited to 'src/libsyntax_ext')
| -rw-r--r-- | src/libsyntax_ext/format_foreign.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libsyntax_ext/format_foreign.rs b/src/libsyntax_ext/format_foreign.rs index 0476d7d4fcc..e95c6f2e124 100644 --- a/src/libsyntax_ext/format_foreign.rs +++ b/src/libsyntax_ext/format_foreign.rs @@ -272,6 +272,11 @@ pub mod printf { self.s = tail; Some(sub) } + + fn size_hint(&self) -> (usize, Option<usize>) { + // Substitutions are at least 2 characters long. + (0, Some(self.s.len() / 2)) + } } enum State { @@ -782,6 +787,10 @@ pub mod shell { None => None, } } + + fn size_hint(&self) -> (usize, Option<usize>) { + (0, Some(self.s.len())) + } } /// Parse the next substitution from the input string. |
