]> git.lizzy.rs Git - rust.git/commitdiff
Implement `last` for `EscapeUnicode`
authorAndrea Canciani <ranma42@gmail.com>
Mon, 18 Jan 2016 16:46:53 +0000 (17:46 +0100)
committerAndrea Canciani <ranma42@gmail.com>
Wed, 20 Apr 2016 08:33:27 +0000 (10:33 +0200)
Part of #24214.

src/libcore/char.rs

index 140403884b96df89d8fbc5e470e2c0a574264c72..65b9a27bb68e2a47da6b7b375a125221d9de1f5a 100644 (file)
@@ -471,6 +471,18 @@ fn size_hint(&self) -> (usize, Option<usize>) {
         let n = n + self.hex_digit_idx;
         (n, Some(n))
     }
+
+    fn last(self) -> Option<char> {
+        match self.state {
+            EscapeUnicodeState::Done => None,
+
+            EscapeUnicodeState::RightBrace |
+            EscapeUnicodeState::Value |
+            EscapeUnicodeState::LeftBrace |
+            EscapeUnicodeState::Type |
+            EscapeUnicodeState::Backslash => Some('}'),
+        }
+    }
 }
 
 /// An iterator that yields the literal escape code of a `char`.