about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrea Canciani <ranma42@gmail.com>2016-01-18 17:46:53 +0100
committerAndrea Canciani <ranma42@gmail.com>2016-04-20 10:33:27 +0200
commit167b510b7c59ad4d87993059401b94a5e1d1f8ff (patch)
tree979cc6fdb8384ddbf2b49aed34301f0b7b0905da
parent3dd88f60de01774b9f9e29c0289a874a5dcaa1ce (diff)
downloadrust-167b510b7c59ad4d87993059401b94a5e1d1f8ff.tar.gz
rust-167b510b7c59ad4d87993059401b94a5e1d1f8ff.zip
Implement `last` for `EscapeUnicode`
Part of #24214.
-rw-r--r--src/libcore/char.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libcore/char.rs b/src/libcore/char.rs
index 140403884b9..65b9a27bb68 100644
--- a/src/libcore/char.rs
+++ b/src/libcore/char.rs
@@ -471,6 +471,18 @@ impl Iterator for EscapeUnicode {
         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`.