diff options
| author | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-08-15 11:55:17 -0700 |
|---|---|---|
| committer | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-08-15 12:38:32 -0700 |
| commit | 51d98d9c7bcdfad2daec697739b25193adc09ced (patch) | |
| tree | c4ae164ad57499113d0cc2e4b82f6406acb82e1f /src/libstd/base64.rs | |
| parent | b0f289397ce47ed8c4d4f97d94408e83a59abd5a (diff) | |
| download | rust-51d98d9c7bcdfad2daec697739b25193adc09ced.tar.gz rust-51d98d9c7bcdfad2daec697739b25193adc09ced.zip | |
Expunge match checks
Diffstat (limited to 'src/libstd/base64.rs')
| -rw-r--r-- | src/libstd/base64.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/libstd/base64.rs b/src/libstd/base64.rs index b22fe2b9582..99e83d11e52 100644 --- a/src/libstd/base64.rs +++ b/src/libstd/base64.rs @@ -30,22 +30,25 @@ impl ~[u8]: to_base64 { i += 3u; } - match check len % 3u { - 0u => (), - 1u => { + // Heh, would be cool if we knew this was exhaustive + // (the dream of bounded integer types) + match len % 3 { + 0 => (), + 1 => { let n = (self[i] as uint) << 16u; str::push_char(s, chars[(n >> 18u) & 63u]); str::push_char(s, chars[(n >> 12u) & 63u]); str::push_char(s, '='); str::push_char(s, '='); } - 2u => { + 2 => { let n = (self[i] as uint) << 16u | (self[i + 1u] as uint) << 8u; str::push_char(s, chars[(n >> 18u) & 63u]); str::push_char(s, chars[(n >> 12u) & 63u]); str::push_char(s, chars[(n >> 6u) & 63u]); str::push_char(s, '='); } + _ => fail ~"Algebra is broken, please alert the math police" } s |
