about summary refs log tree commit diff
path: root/src/libstd/base64.rs
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2012-08-15 11:55:17 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2012-08-15 12:38:32 -0700
commit51d98d9c7bcdfad2daec697739b25193adc09ced (patch)
treec4ae164ad57499113d0cc2e4b82f6406acb82e1f /src/libstd/base64.rs
parentb0f289397ce47ed8c4d4f97d94408e83a59abd5a (diff)
downloadrust-51d98d9c7bcdfad2daec697739b25193adc09ced.tar.gz
rust-51d98d9c7bcdfad2daec697739b25193adc09ced.zip
Expunge match checks
Diffstat (limited to 'src/libstd/base64.rs')
-rw-r--r--src/libstd/base64.rs11
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