Skip to content

Commit bca618f

Browse files
committed
Rustup.
* Use ... instead of .. when matching a range, in preparation for rust-lang/rust#17584 (may not be complete). * Use the new slicing syntax (a[], a[x..y]) if possible. (Currently String::as_slice() is blocked by rust-lang/rust#17502.) * Change deprecated String::push_char() to String::push().
1 parent fa40eec commit bca618f

File tree

6 files changed

+46
-47
lines changed

6 files changed

+46
-47
lines changed

src/bits.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,17 @@ impl Bits {
4040

4141
let b = self.bit_offset + n;
4242
match (self.bit_offset, b) {
43-
(0, 0..8) => {
43+
(0, 0...8) => {
4444
self.data.push((number << (8-b)) as u8);
4545
}
4646
(0, _) => {
4747
self.data.push((number >> (b-8)) as u8);
4848
self.data.push((number << (16-b)) as u8);
4949
}
50-
(_, 0..8) => {
50+
(_, 0...8) => {
5151
*self.data.last_mut().unwrap() |= (number << (8-b)) as u8;
5252
}
53-
(_, 9..16) => {
53+
(_, 9...16) => {
5454
*self.data.last_mut().unwrap() |= (number >> (b-8)) as u8;
5555
self.data.push((number << (16-b)) as u8);
5656
}
@@ -234,14 +234,14 @@ impl Bits {
234234
self.reserve_additional(12); // assume the common case that eci_designator <= 127.
235235
try!(self.push_mode_indicator(Eci));
236236
match eci_designator {
237-
0..127 => {
237+
0...127 => {
238238
self.push_number(8, eci_designator as u16);
239239
}
240-
128..16383 => {
240+
128...16383 => {
241241
self.push_number(2, 0b10);
242242
self.push_number(14, eci_designator as u16);
243243
}
244-
16384..999999 => {
244+
16384...999999 => {
245245
self.push_number(3, 0b110);
246246
self.push_number(5, (eci_designator >> 16) as u16);
247247
self.push_number(16, (eci_designator & 0xffff) as u16);
@@ -387,8 +387,8 @@ mod numeric_tests {
387387
#[inline]
388388
fn alphanumeric_digit(character: u8) -> u16 {
389389
match character {
390-
b'0' .. b'9' => (character - b'0') as u16,
391-
b'A' .. b'Z' => (character - b'A') as u16 + 10,
390+
b'0' ... b'9' => (character - b'0') as u16,
391+
b'A' ... b'Z' => (character - b'A') as u16 + 10,
392392
b' ' => 36,
393393
b'$' => 37,
394394
b'%' => 38,
@@ -666,7 +666,7 @@ impl Bits {
666666
};
667667

668668
let cur_length = self.len();
669-
let data_length = try!(self.version.fetch(ec_level, DATA_LENGTHS.as_slice()));
669+
let data_length = try!(self.version.fetch(ec_level, DATA_LENGTHS[]));
670670
if cur_length > data_length {
671671
return Err(DataTooLong);
672672
}
@@ -759,7 +759,7 @@ impl Bits {
759759
data: &[u8],
760760
mut segments_iter: I) -> QrResult<()> {
761761
for segment in segments_iter {
762-
let slice = data.slice(segment.begin, segment.end);
762+
let slice = data[segment.begin..segment.end];
763763
try!(match segment.mode {
764764
Numeric => self.push_numeric_data(slice),
765765
Alphanumeric => self.push_alphanumeric_data(slice),
@@ -829,8 +829,8 @@ pub fn encode_auto(data: &[u8], ec_level: ErrorCorrectionLevel) -> QrResult<Bits
829829
let segments = Parser::new(data).collect::<Vec<Segment>>();
830830
for version in [Version(9), Version(26), Version(40)].iter() {
831831
let opt_segments = Optimizer::new(segments.iter().map(|s| *s), *version).collect::<Vec<Segment>>();
832-
let total_len = total_encoded_len(opt_segments.as_slice(), *version);
833-
let data_capacity = version.fetch(ec_level, DATA_LENGTHS.as_slice()).unwrap();
832+
let total_len = total_encoded_len(opt_segments[], *version);
833+
let data_capacity = version.fetch(ec_level, DATA_LENGTHS[]).unwrap();
834834
if total_len <= data_capacity {
835835
let min_version = find_min_version(total_len, ec_level);
836836
let mut bits = Bits::new(min_version);

src/canvas.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,9 @@ impl Canvas {
112112
let width = self.width;
113113
let mut res = String::with_capacity((width * (width + 1)) as uint);
114114
for y in range(0, width) {
115-
res.push_char('\n');
115+
res.push('\n');
116116
for x in range(0, width) {
117-
res.push_char(match self.get(x, y) {
117+
res.push(match self.get(x, y) {
118118
Empty => '?',
119119
Light => '.',
120120
Dark => '#',
@@ -654,7 +654,7 @@ impl Canvas {
654654
/// Draws the version information patterns.
655655
fn draw_version_info_patterns(&mut self) {
656656
match self.version {
657-
MicroVersion(_) | Version(1..6) => { return; }
657+
MicroVersion(_) | Version(1...6) => { return; }
658658
Version(a) => {
659659
let version_info = VERSION_INFOS[(a - 7) as uint] << 14;
660660
self.draw_number(version_info, Dark, Light, VERSION_INFO_COORDS_BL);

src/ec.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ pub fn create_error_correction_code(data: &[u8], ec_code_size: uint) -> Vec<u8>
2828
}
2929

3030
let log_lead_coeff = LOG_TABLE[lead_coeff] as uint;
31-
for (u, v) in res.slice_from_mut(i+1).iter_mut().zip(log_den.iter()) {
31+
for (u, v) in res[mut i+1..].iter_mut().zip(log_den.iter()) {
3232
*u ^= EXP_TABLE[((*v as uint + log_lead_coeff) % 255) as uint];
3333
}
3434
}
@@ -43,19 +43,19 @@ mod ec_tests {
4343
#[test]
4444
fn test_poly_mod_1() {
4545
let res = create_error_correction_code(b" [\x0bx\xd1r\xdcMC@\xec\x11\xec\x11\xec\x11", 10);
46-
assert_eq!(res.as_slice(), b"\xc4#'w\xeb\xd7\xe7\xe2]\x17");
46+
assert_eq!(res[], b"\xc4#'w\xeb\xd7\xe7\xe2]\x17");
4747
}
4848

4949
#[test]
5050
fn test_poly_mod_2() {
5151
let res = create_error_correction_code(b" [\x0bx\xd1r\xdcMC@\xec\x11\xec", 13);
52-
assert_eq!(res.as_slice(), b"\xa8H\x16R\xd96\x9c\x00.\x0f\xb4z\x10");
52+
assert_eq!(res[], b"\xa8H\x16R\xd96\x9c\x00.\x0f\xb4z\x10");
5353
}
5454

5555
#[test]
5656
fn test_poly_mod_3() {
5757
let res = create_error_correction_code(b"CUF\x86W&U\xc2w2\x06\x12\x06g&", 18);
58-
assert_eq!(res.as_slice(), b"\xd5\xc7\x0b-s\xf7\xf1\xdf\xe5\xf8\x9au\x9aoV\xa1o'");
58+
assert_eq!(res[], b"\xd5\xc7\x0b-s\xf7\xf1\xdf\xe5\xf8\x9au\x9aoV\xa1o'");
5959
}
6060
}
6161

@@ -118,7 +118,7 @@ fn interleave<T: Copy, V>(blocks: &Vec<V>) -> Vec<T>
118118
#[test]
119119
fn test_interleave() {
120120
let res = interleave(&vec![b"1234", b"5678", b"abcdef", b"ghijkl"]);
121-
assert_eq!(res.as_slice(), b"15ag26bh37ci48djekfl");
121+
assert_eq!(res[], b"15ag26bh37ci48djekfl");
122122
}
123123

124124
//}}}
@@ -131,7 +131,7 @@ pub fn construct_codewords(rawbits: &[u8],
131131
version: QrVersion,
132132
ec_level: ErrorCorrectionLevel) -> QrResult<(Vec<u8>, Vec<u8>)> {
133133
let (block_1_size, block_1_count, block_2_size, block_2_count) =
134-
try!(version.fetch(ec_level, DATA_BYTES_PER_BLOCK.as_slice()));
134+
try!(version.fetch(ec_level, DATA_BYTES_PER_BLOCK[]));
135135

136136
let blocks_count = block_1_count + block_2_count;
137137
let block_1_end = block_1_size * block_1_count;
@@ -141,13 +141,13 @@ pub fn construct_codewords(rawbits: &[u8],
141141

142142
// Divide the data into blocks.
143143
let mut blocks = Vec::with_capacity(blocks_count);
144-
blocks.extend(rawbits.slice_to(block_1_end).chunks(block_1_size));
144+
blocks.extend(rawbits[..block_1_end].chunks(block_1_size));
145145
if block_2_size > 0 {
146-
blocks.extend(rawbits.slice_from(block_1_end).chunks(block_2_size));
146+
blocks.extend(rawbits[block_1_end..].chunks(block_2_size));
147147
}
148148

149149
// Generate EC codes.
150-
let ec_bytes = try!(version.fetch(ec_level, EC_BYTES_PER_BLOCK.as_slice()));
150+
let ec_bytes = try!(version.fetch(ec_level, EC_BYTES_PER_BLOCK[]));
151151
let ec_codes = blocks.iter()
152152
.map(|block| create_error_correction_code(*block, ec_bytes))
153153
.collect::<Vec<Vec<u8>>>();
@@ -167,17 +167,17 @@ mod construct_codewords_test {
167167
fn test_add_ec_simple() {
168168
let msg = b" [\x0bx\xd1r\xdcMC@\xec\x11\xec\x11\xec\x11";
169169
let (blocks_vec, ec_vec) = construct_codewords(msg, Version(1), M).unwrap();
170-
assert_eq!(blocks_vec.as_slice(), msg);
171-
assert_eq!(ec_vec.as_slice(), b"\xc4#'w\xeb\xd7\xe7\xe2]\x17");
170+
assert_eq!(blocks_vec[], msg);
171+
assert_eq!(ec_vec[], b"\xc4#'w\xeb\xd7\xe7\xe2]\x17");
172172
}
173173

174174
#[test]
175175
fn test_add_ec_complex() {
176176
let msg = b"CUF\x86W&U\xc2w2\x06\x12\x06g&\xf6\xf6B\x07v\x86\xf2\x07&V\x16\xc6\xc7\x92\x06\xb6\xe6\xf7w2\x07v\x86W&R\x06\x86\x972\x07F\xf7vV\xc2\x06\x972\x10\xec\x11\xec\x11\xec\x11\xec";
177177
let (blocks_vec, ec_vec) = construct_codewords(msg, Version(5), Q).unwrap();
178-
assert_eq!(blocks_vec.as_slice(),
178+
assert_eq!(blocks_vec[],
179179
b"C\xf6\xb6FU\xf6\xe6\xf7FB\xf7v\x86\x07wVWv2\xc2&\x86\x07\x06U\xf2v\x97\xc2\x07\x862w&W\x102V&\xec\x06\x16R\x11\x12\xc6\x06\xec\x06\xc7\x86\x11g\x92\x97\xec&\x062\x11\x07\xec");
180-
assert_eq!(ec_vec.as_slice(),
180+
assert_eq!(ec_vec[],
181181
b"\xd5W\x94\xeb\xc7\xcct\x9f\x0b`\xb1\x05-<\xd4\xads\xcaL\x18\xf7\xb6\x85\x93\xf1|K;\xdf\x9d\xf2!\xe5\xc8\xeej\xf8\x86L(\x9a\x1b\xc3\xffu\x81\xe6\xac\x9a\xd1\xbdRo\x11\n\x02V\xa3l\x83\xa1\xa3\xf0 ox\xc0\xb2'\x85\x8d\xec");
182182
}
183183
}

src/lib.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,10 @@ impl QrCode {
117117
ec_level: ErrorCorrectionLevel) -> QrResult<QrCode> {
118118
let version = bits.version();
119119
let data = bits.into_bytes();
120-
let (encoded_data, ec_data) = try!(ec::construct_codewords(data.as_slice(),
121-
version, ec_level));
120+
let (encoded_data, ec_data) = try!(ec::construct_codewords(data[], version, ec_level));
122121
let mut canvas = canvas::Canvas::new(version, ec_level);
123122
canvas.draw_all_functional_patterns();
124-
canvas.draw_data(encoded_data.as_slice(), ec_data.as_slice());
123+
canvas.draw_data(encoded_data[], ec_data[]);
125124
let canvas = canvas.apply_best_mask();
126125
Ok(QrCode {
127126
content: canvas.to_bools(),
@@ -155,9 +154,9 @@ impl QrCode {
155154
let mut k = 0;
156155
let mut res = String::with_capacity(width * (width + 1));
157156
for _ in range(0, width) {
158-
res.push_char('\n');
157+
res.push('\n');
159158
for _ in range(0, width) {
160-
res.push_char(if self.content[k] { on_char } else { off_char });
159+
res.push(if self.content[k] { on_char } else { off_char });
161160
k += 1;
162161
}
163162
}

src/optimize.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -314,15 +314,15 @@ mod optimize_tests {
314314
use types::{Numeric, Alphanumeric, Byte, Kanji, QrVersion, Version, MicroVersion};
315315

316316
fn test_optimization_result(given: Vec<Segment>, expected: Vec<Segment>, version: QrVersion) {
317-
let prev_len = total_encoded_len(given.as_slice(), version);
317+
let prev_len = total_encoded_len(given[], version);
318318
let opt_segs = Optimizer::new(given.iter().map(|seg| *seg), version).collect::<Vec<Segment>>();
319-
let new_len = total_encoded_len(opt_segs.as_slice(), version);
319+
let new_len = total_encoded_len(opt_segs[], version);
320320
if given != opt_segs {
321321
assert!(prev_len > new_len, "{} > {}", prev_len, new_len);
322322
}
323323
assert!(opt_segs == expected,
324324
"Optimization gave something better: {} < {} ({})",
325-
new_len, total_encoded_len(expected.as_slice(), version), opt_segs);
325+
new_len, total_encoded_len(expected[], version), opt_segs);
326326
}
327327

328328
#[test]
@@ -500,14 +500,14 @@ impl ExclusiveCharacterSet {
500500
/// Determines which character set a byte is in.
501501
fn from_u8(c: u8) -> ExclusiveCharacterSet {
502502
match c {
503-
0x20 | 0x24 | 0x25 | 0x2a | 0x2b | 0x2d .. 0x2f | 0x3a => ESymbol,
504-
0x30 .. 0x39 => ENumeric,
505-
0x41 .. 0x5a => EAlpha,
506-
0x81 .. 0x9f => EKanjiHi1,
507-
0xe0 .. 0xea => EKanjiHi2,
503+
0x20 | 0x24 | 0x25 | 0x2a | 0x2b | 0x2d ... 0x2f | 0x3a => ESymbol,
504+
0x30 ... 0x39 => ENumeric,
505+
0x41 ... 0x5a => EAlpha,
506+
0x81 ... 0x9f => EKanjiHi1,
507+
0xe0 ... 0xea => EKanjiHi2,
508508
0xeb => EKanjiHi3,
509-
0x40 | 0x5b .. 0x7e | 0x80 | 0xa0 .. 0xbf => EKanjiLo1,
510-
0xc0 .. 0xdf | 0xec .. 0xfc => EKanjiLo2,
509+
0x40 | 0x5b ... 0x7e | 0x80 | 0xa0 ... 0xbf => EKanjiLo1,
510+
0xc0 ... 0xdf | 0xec ... 0xfc => EKanjiLo2,
511511
_ => EByte
512512
}
513513
}

src/types.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ impl QrVersion {
9999
where T: PartialEq + Default + Copy
100100
{
101101
match *self {
102-
Version(v @ 1..40) => Ok(table[v as uint - 1][ec_level as uint]),
103-
MicroVersion(v @ 1..4) => {
102+
Version(v @ 1...40) => Ok(table[v as uint - 1][ec_level as uint]),
103+
MicroVersion(v @ 1...4) => {
104104
let obj = table[v as uint + 39][ec_level as uint];
105105
if obj != Default::default() {
106106
Ok(obj)
@@ -173,13 +173,13 @@ impl Mode {
173173
Kanji => a,
174174
}
175175
}
176-
Version(1..9) => match *self {
176+
Version(1...9) => match *self {
177177
Numeric => 10,
178178
Alphanumeric => 9,
179179
Byte => 8,
180180
Kanji => 8,
181181
},
182-
Version(10..26) => match *self {
182+
Version(10...26) => match *self {
183183
Numeric => 12,
184184
Alphanumeric => 11,
185185
Byte => 16,

0 commit comments

Comments
 (0)