diff options
Diffstat (limited to 'src/test/ui/associated-types/cache/chrono-scan.rs')
-rw-r--r-- | src/test/ui/associated-types/cache/chrono-scan.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/ui/associated-types/cache/chrono-scan.rs b/src/test/ui/associated-types/cache/chrono-scan.rs new file mode 100644 index 000000000..964ddc9b6 --- /dev/null +++ b/src/test/ui/associated-types/cache/chrono-scan.rs @@ -0,0 +1,30 @@ +// check-pass + +#![allow(deprecated)] + +pub type ParseResult<T> = Result<T, ()>; + +pub enum Item<'a> { + Literal(&'a str) +} + +pub fn colon_or_space(s: &str) -> ParseResult<&str> { + unimplemented!() +} + +pub fn timezone_offset_zulu<F>(s: &str, colon: F) -> ParseResult<(&str, i32)> + where F: FnMut(&str) -> ParseResult<&str> { + unimplemented!() +} + +pub fn parse<'a, I>(mut s: &str, items: I) -> ParseResult<()> + where I: Iterator<Item=Item<'a>> { + macro_rules! try_consume { + ($e:expr) => ({ let (s_, v) = try!($e); s = s_; v }) + } + let offset = try_consume!(timezone_offset_zulu(s.trim_start(), colon_or_space)); + let offset = try_consume!(timezone_offset_zulu(s.trim_start(), colon_or_space)); + Ok(()) +} + +fn main() {} |