about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTamir Duberstein <tamird@google.com>2020-10-04 17:07:30 +0000
committerTamir Duberstein <tamird@google.com>2020-10-04 17:07:30 +0000
commitf78a7ade61c1c218eead76854abb7d83bb6c6f75 (patch)
tree97759dbe6964d1903ffc7cfbe4437db529568e41
parent9601724b11bbd9081b1bee6f7e478a5d2b9ace41 (diff)
downloadrust-f78a7ade61c1c218eead76854abb7d83bb6c6f75.tar.gz
rust-f78a7ade61c1c218eead76854abb7d83bb6c6f75.zip
Inline "eof" methods
-rw-r--r--library/std/src/net/parser.rs15
1 files changed, 2 insertions, 13 deletions
diff --git a/library/std/src/net/parser.rs b/library/std/src/net/parser.rs
index da94a573503..3a5fd8f6f5d 100644
--- a/library/std/src/net/parser.rs
+++ b/library/std/src/net/parser.rs
@@ -44,10 +44,6 @@ impl<'a> Parser<'a> {
         Parser { state: input.as_bytes() }
     }
 
-    fn is_eof(&self) -> bool {
-        self.state.is_empty()
-    }
-
     /// Run a parser, and restore the pre-parse state if it fails
     fn read_atomically<T, F>(&mut self, inner: F) -> Option<T>
     where
@@ -63,19 +59,12 @@ impl<'a> Parser<'a> {
 
     /// Run a parser, but fail if the entire input wasn't consumed.
     /// Doesn't run atomically.
-    fn read_till_eof<T, F>(&mut self, inner: F) -> Option<T>
-    where
-        F: FnOnce(&mut Parser<'_>) -> Option<T>,
-    {
-        inner(self).filter(|_| self.is_eof())
-    }
-
-    /// Same as read_till_eof, but returns a Result<AddrParseError> on failure
     fn parse_with<T, F>(&mut self, inner: F) -> Result<T, AddrParseError>
     where
         F: FnOnce(&mut Parser<'_>) -> Option<T>,
     {
-        self.read_till_eof(inner).ok_or(AddrParseError(()))
+        let result = inner(self);
+        if self.state.is_empty() { result } else { None }.ok_or(AddrParseError(()))
     }
 
     /// Read the next character from the input