about summary refs log tree commit diff
path: root/src/libserialize
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2014-09-26 21:13:20 -0700
committerPatrick Walton <pcwalton@mimiga.net>2014-09-30 09:11:26 -0700
commit416144b8279fbffceacea6d0fd90e0fd1f8ce53d (patch)
tree0f7f628dd1388f378ac4836e32359b18a7297212 /src/libserialize
parent38015eeb7010e5954a1bc60fddc1214a5f359627 (diff)
librustc: Forbid `..` in range patterns.
This breaks code that looks like:

    match foo {
        1..3 => { ... }
    }

Instead, write:

    match foo {
        1...3 => { ... }
    }

Closes #17295.

[breaking-change]
Diffstat (limited to 'src/libserialize')
-rw-r--r--src/libserialize/base64.rs6
-rw-r--r--src/libserialize/hex.rs6
-rw-r--r--src/libserialize/json.rs24
3 files changed, 19 insertions, 17 deletions
diff --git a/src/libserialize/base64.rs b/src/libserialize/base64.rs
index f85f3a43974..19dcc3c132c 100644
--- a/src/libserialize/base64.rs
+++ b/src/libserialize/base64.rs
@@ -224,9 +224,9 @@ impl<'a> FromBase64 for &'a [u8] {
             let val = byte as u32;
 
             match byte {
-                b'A'..b'Z' => buf |= val - 0x41,
-                b'a'..b'z' => buf |= val - 0x47,
-                b'0'..b'9' => buf |= val + 0x04,
+                b'A'...b'Z' => buf |= val - 0x41,
+                b'a'...b'z' => buf |= val - 0x47,
+                b'0'...b'9' => buf |= val + 0x04,
                 b'+' | b'-' => buf |= 0x3E,
                 b'/' | b'_' => buf |= 0x3F,
                 b'\r' | b'\n' => continue,
diff --git a/src/libserialize/hex.rs b/src/libserialize/hex.rs
index 5e8697ef0ad..ffe63f738cf 100644
--- a/src/libserialize/hex.rs
+++ b/src/libserialize/hex.rs
@@ -113,9 +113,9 @@ impl<'a> FromHex for &'a str {
             buf <<= 4;
 
             match byte {
-                b'A'..b'F' => buf |= byte - b'A' + 10,
-                b'a'..b'f' => buf |= byte - b'a' + 10,
-                b'0'..b'9' => buf |= byte - b'0',
+                b'A'...b'F' => buf |= byte - b'A' + 10,
+                b'a'...b'f' => buf |= byte - b'a' + 10,
+                b'0'...b'9' => buf |= byte - b'0',
                 b' '|b'\r'|b'\n'|b'\t' => {
                     buf >>= 4;
                     continue
diff --git a/src/libserialize/json.rs b/src/libserialize/json.rs
index ed95fa341b3..3007e160bf8 100644
--- a/src/libserialize/json.rs
+++ b/src/libserialize/json.rs
@@ -1392,14 +1392,14 @@ impl<T: Iterator<char>> Parser<T> {
 
                 // A leading '0' must be the only digit before the decimal point.
                 match self.ch_or_null() {
-                    '0' .. '9' => return self.error(InvalidNumber),
+                    '0' ... '9' => return self.error(InvalidNumber),
                     _ => ()
                 }
             },
-            '1' .. '9' => {
+            '1' ... '9' => {
                 while !self.eof() {
                     match self.ch_or_null() {
-                        c @ '0' .. '9' => {
+                        c @ '0' ... '9' => {
                             accum *= 10;
                             accum += (c as u64) - ('0' as u64);
 
@@ -1423,14 +1423,14 @@ impl<T: Iterator<char>> Parser<T> {
 
         // Make sure a digit follows the decimal place.
         match self.ch_or_null() {
-            '0' .. '9' => (),
+            '0' ... '9' => (),
              _ => return self.error(InvalidNumber)
         }
 
         let mut dec = 1.0;
         while !self.eof() {
             match self.ch_or_null() {
-                c @ '0' .. '9' => {
+                c @ '0' ... '9' => {
                     dec /= 10.0;
                     res += (((c as int) - ('0' as int)) as f64) * dec;
                     self.bump();
@@ -1457,12 +1457,12 @@ impl<T: Iterator<char>> Parser<T> {
 
         // Make sure a digit follows the exponent place.
         match self.ch_or_null() {
-            '0' .. '9' => (),
+            '0' ... '9' => (),
             _ => return self.error(InvalidNumber)
         }
         while !self.eof() {
             match self.ch_or_null() {
-                c @ '0' .. '9' => {
+                c @ '0' ... '9' => {
                     exp *= 10;
                     exp += (c as uint) - ('0' as uint);
 
@@ -1488,7 +1488,7 @@ impl<T: Iterator<char>> Parser<T> {
         while i < 4 && !self.eof() {
             self.bump();
             n = match self.ch_or_null() {
-                c @ '0' .. '9' => n * 16 + ((c as u16) - ('0' as u16)),
+                c @ '0' ... '9' => n * 16 + ((c as u16) - ('0' as u16)),
                 'a' | 'A' => n * 16 + 10,
                 'b' | 'B' => n * 16 + 11,
                 'c' | 'C' => n * 16 + 12,
@@ -1530,11 +1530,13 @@ impl<T: Iterator<char>> Parser<T> {
                     'r' => res.push('\r'),
                     't' => res.push('\t'),
                     'u' => match try!(self.decode_hex_escape()) {
-                        0xDC00 .. 0xDFFF => return self.error(LoneLeadingSurrogateInHexEscape),
+                        0xDC00 ... 0xDFFF => {
+                            return self.error(LoneLeadingSurrogateInHexEscape)
+                        }
 
                         // Non-BMP characters are encoded as a sequence of
                         // two hex escapes, representing UTF-16 surrogates.
-                        n1 @ 0xD800 .. 0xDBFF => {
+                        n1 @ 0xD800 ... 0xDBFF => {
                             match (self.next_char(), self.next_char()) {
                                 (Some('\\'), Some('u')) => (),
                                 _ => return self.error(UnexpectedEndOfHexEscape),
@@ -1768,7 +1770,7 @@ impl<T: Iterator<char>> Parser<T> {
             'n' => { self.parse_ident("ull", NullValue) }
             't' => { self.parse_ident("rue", BooleanValue(true)) }
             'f' => { self.parse_ident("alse", BooleanValue(false)) }
-            '0' .. '9' | '-' => self.parse_number(),
+            '0' ... '9' | '-' => self.parse_number(),
             '"' => match self.parse_str() {
                 Ok(s) => StringValue(s),
                 Err(e) => Error(e),