1
Fork 0

Switch chain calls to use Option::chain method

This commit is contained in:
Erick Tryzelaar 2012-12-20 21:15:49 -08:00 committed by Tim Chevalier
parent 50902bb302
commit 03b5fcabbd

View file

@ -385,36 +385,22 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
None => Err(~"Invalid year") None => Err(~"Invalid year")
}, },
'c' => { 'c' => {
// FIXME(#3724): cleanup parse_type(s, pos, 'a', tm)
result::chain( .chain(|pos| parse_char(s, pos, ' '))
result::chain( .chain(|pos| parse_type(s, pos, 'b', tm))
result::chain( .chain(|pos| parse_char(s, pos, ' '))
result::chain( .chain(|pos| parse_type(s, pos, 'e', tm))
result::chain( .chain(|pos| parse_char(s, pos, ' '))
result::chain( .chain(|pos| parse_type(s, pos, 'T', tm))
result::chain( .chain(|pos| parse_char(s, pos, ' '))
result::chain( .chain(|pos| parse_type(s, pos, 'Y', tm))
move parse_type(s, pos, 'a', tm),
|pos| parse_char(s, pos, ' ')),
|pos| parse_type(s, pos, 'b', tm)),
|pos| parse_char(s, pos, ' ')),
|pos| parse_type(s, pos, 'e', tm)),
|pos| parse_char(s, pos, ' ')),
|pos| parse_type(s, pos, 'T', tm)),
|pos| parse_char(s, pos, ' ')),
|pos| parse_type(s, pos, 'Y', tm))
} }
'D' | 'x' => { 'D' | 'x' => {
// FIXME(#3724): cleanup parse_type(s, pos, 'm', tm)
result::chain( .chain(|pos| parse_char(s, pos, '/'))
result::chain( .chain(|pos| parse_type(s, pos, 'd', tm))
result::chain( .chain(|pos| parse_char(s, pos, '/'))
result::chain( .chain(|pos| parse_type(s, pos, 'y', tm))
move parse_type(s, pos, 'm', tm),
|pos| parse_char(s, pos, '/')),
|pos| parse_type(s, pos, 'd', tm)),
|pos| parse_char(s, pos, '/')),
|pos| parse_type(s, pos, 'y', tm))
} }
'd' => match match_digits(s, pos, 2u, false) { 'd' => match match_digits(s, pos, 2u, false) {
Some(item) => { let (v, pos) = item; tm.tm_mday = v; Ok(pos) } Some(item) => { let (v, pos) = item; tm.tm_mday = v; Ok(pos) }
@ -425,16 +411,11 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
None => Err(~"Invalid day of the month") None => Err(~"Invalid day of the month")
}, },
'F' => { 'F' => {
// FIXME(#3724): cleanup parse_type(s, pos, 'Y', tm)
result::chain( .chain(|pos| parse_char(s, pos, '-'))
result::chain( .chain(|pos| parse_type(s, pos, 'm', tm))
result::chain( .chain(|pos| parse_char(s, pos, '-'))
result::chain( .chain(|pos| parse_type(s, pos, 'd', tm))
move parse_type(s, pos, 'Y', tm),
|pos| parse_char(s, pos, '-')),
|pos| parse_type(s, pos, 'm', tm)),
|pos| parse_char(s, pos, '-')),
|pos| parse_type(s, pos, 'd', tm))
} }
'H' => { 'H' => {
// FIXME (#2350): range check. // FIXME (#2350): range check.
@ -515,28 +496,18 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
None => Err(~"Invalid hour") None => Err(~"Invalid hour")
}, },
'R' => { 'R' => {
// FIXME(#3724): cleanup parse_type(s, pos, 'H', tm)
result::chain( .chain(|pos| parse_char(s, pos, ':'))
result::chain( .chain(|pos| parse_type(s, pos, 'M', tm))
move parse_type(s, pos, 'H', tm),
|pos| parse_char(s, pos, ':')),
|pos| parse_type(s, pos, 'M', tm))
} }
'r' => { 'r' => {
// FIXME(#3724): cleanup parse_type(s, pos, 'I', tm)
result::chain( .chain(|pos| parse_char(s, pos, ':'))
result::chain( .chain(|pos| parse_type(s, pos, 'M', tm))
result::chain( .chain(|pos| parse_char(s, pos, ':'))
result::chain( .chain(|pos| parse_type(s, pos, 'S', tm))
result::chain( .chain(|pos| parse_char(s, pos, ' '))
result::chain( .chain(|pos| parse_type(s, pos, 'p', tm))
move parse_type(s, pos, 'I', tm),
|pos| parse_char(s, pos, ':')),
|pos| parse_type(s, pos, 'M', tm)),
|pos| parse_char(s, pos, ':')),
|pos| parse_type(s, pos, 'S', tm)),
|pos| parse_char(s, pos, ' ')),
|pos| parse_type(s, pos, 'p', tm))
} }
'S' => { 'S' => {
// FIXME (#2350): range check. // FIXME (#2350): range check.
@ -551,16 +522,11 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
} }
//'s' {} //'s' {}
'T' | 'X' => { 'T' | 'X' => {
// FIXME(#3724): cleanup parse_type(s, pos, 'H', tm)
result::chain( .chain(|pos| parse_char(s, pos, ':'))
result::chain( .chain(|pos| parse_type(s, pos, 'M', tm))
result::chain( .chain(|pos| parse_char(s, pos, ':'))
result::chain( .chain(|pos| parse_type(s, pos, 'S', tm))
move parse_type(s, pos, 'H', tm),
|pos| parse_char(s, pos, ':')),
|pos| parse_type(s, pos, 'M', tm)),
|pos| parse_char(s, pos, ':')),
|pos| parse_type(s, pos, 'S', tm))
} }
't' => parse_char(s, pos, '\t'), 't' => parse_char(s, pos, '\t'),
'u' => { 'u' => {
@ -575,16 +541,11 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
} }
} }
'v' => { 'v' => {
// FIXME(#3724): cleanup parse_type(s, pos, 'e', tm)
result::chain( .chain(|pos| parse_char(s, pos, '-'))
result::chain( .chain(|pos| parse_type(s, pos, 'b', tm))
result::chain( .chain(|pos| parse_char(s, pos, '-'))
result::chain( .chain(|pos| parse_type(s, pos, 'Y', tm))
move parse_type(s, pos, 'e', tm),
|pos| parse_char(s, pos, '-')),
|pos| parse_type(s, pos, 'b', tm)),
|pos| parse_char(s, pos, '-')),
|pos| parse_type(s, pos, 'Y', tm))
} }
//'W' {} //'W' {}
'w' => { 'w' => {