Skip to content

Commit ac33873

Browse files
ZakCodeszonyitoo
authored andcommitted
Replaced all occurences of try!(.*) with ?. (#93)
1 parent a16b10d commit ac33873

File tree

8 files changed

+75
-75
lines changed

8 files changed

+75
-75
lines changed

serde-tests/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ fn application_decode_error() {
132132
struct Range10(usize);
133133
impl<'de> Deserialize<'de> for Range10 {
134134
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Range10, D::Error> {
135-
let x: usize = try!(Deserialize::deserialize(d));
135+
let x: usize = Deserialize::deserialize(d)?;
136136
if x > 10 {
137137
Err(serde::de::Error::invalid_value(Unexpected::Unsigned(x as u64),
138138
&"more than 10"))

src/bson.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,15 +121,15 @@ impl Display for Bson {
121121
&Bson::FloatingPoint(f) => write!(fmt, "{}", f),
122122
&Bson::String(ref s) => write!(fmt, "\"{}\"", s),
123123
&Bson::Array(ref vec) => {
124-
try!(write!(fmt, "["));
124+
write!(fmt, "[")?;
125125

126126
let mut first = true;
127127
for bson in vec.iter() {
128128
if !first {
129-
try!(write!(fmt, ", "));
129+
write!(fmt, ", ")?;
130130
}
131131

132-
try!(write!(fmt, "{}", bson));
132+
write!(fmt, "{}", bson)?;
133133
first = false;
134134
}
135135

src/decoder/mod.rs

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,18 @@ use oid;
4040
use serde::de::Deserialize;
4141

4242
fn read_string<R: Read + ?Sized>(reader: &mut R, utf8_lossy: bool) -> DecoderResult<String> {
43-
let len = try!(reader.read_i32::<LittleEndian>());
43+
let len = reader.read_i32::<LittleEndian>()?;
4444

4545
let s = if utf8_lossy {
4646
let mut buf = Vec::with_capacity(len as usize - 1);
47-
try!(reader.take(len as u64 - 1).read_to_end(&mut buf));
47+
reader.take(len as u64 - 1).read_to_end(&mut buf)?;
4848
String::from_utf8_lossy(&buf).to_string()
4949
} else {
5050
let mut s = String::with_capacity(len as usize - 1);
51-
try!(reader.take(len as u64 - 1).read_to_string(&mut s));
51+
reader.take(len as u64 - 1).read_to_string(&mut s)?;
5252
s
5353
};
54-
try!(reader.read_u8()); // The last 0x00
54+
reader.read_u8()?; // The last 0x00
5555

5656
Ok(s)
5757
}
@@ -60,14 +60,14 @@ fn read_cstring<R: Read + ?Sized>(reader: &mut R) -> DecoderResult<String> {
6060
let mut v = Vec::new();
6161

6262
loop {
63-
let c = try!(reader.read_u8());
63+
let c = reader.read_u8()?;
6464
if c == 0 {
6565
break;
6666
}
6767
v.push(c);
6868
}
6969

70-
Ok(try!(String::from_utf8(v)))
70+
Ok(String::from_utf8(v)?)
7171
}
7272

7373
#[inline]
@@ -85,17 +85,17 @@ pub fn decode_document<R: Read + ?Sized>(reader: &mut R) -> DecoderResult<Docume
8585
let mut doc = Document::new();
8686

8787
// disregard the length: using Read::take causes infinite type recursion
88-
try!(read_i32(reader));
88+
read_i32(reader)?;
8989

9090
loop {
91-
let tag = try!(reader.read_u8());
91+
let tag = reader.read_u8()?;
9292

9393
if tag == 0 {
9494
break;
9595
}
9696

97-
let key = try!(read_cstring(reader));
98-
let val = try!(decode_bson(reader, tag, false));
97+
let key = read_cstring(reader)?;
98+
let val = decode_bson(reader, tag, false)?;
9999

100100
doc.insert(key, val);
101101
}
@@ -108,17 +108,17 @@ pub fn decode_document_utf8_lossy<R: Read + ?Sized>(reader: &mut R) -> DecoderRe
108108
let mut doc = Document::new();
109109

110110
// disregard the length: using Read::take causes infinite type recursion
111-
try!(read_i32(reader));
111+
read_i32(reader)?;
112112

113113
loop {
114-
let tag = try!(reader.read_u8());
114+
let tag = reader.read_u8()?;
115115

116116
if tag == 0 {
117117
break;
118118
}
119119

120-
let key = try!(read_cstring(reader));
121-
let val = try!(decode_bson(reader, tag, true));
120+
let key = read_cstring(reader)?;
121+
let val = decode_bson(reader, tag, true)?;
122122

123123
doc.insert(key, val);
124124
}
@@ -130,16 +130,16 @@ fn decode_array<R: Read + ?Sized>(reader: &mut R, utf8_lossy: bool) -> DecoderRe
130130
let mut arr = Array::new();
131131

132132
// disregard the length: using Read::take causes infinite type recursion
133-
try!(read_i32(reader));
133+
read_i32(reader)?;
134134

135135
loop {
136-
let tag = try!(reader.read_u8());
136+
let tag = reader.read_u8()?;
137137
if tag == 0 {
138138
break;
139139
}
140140

141141
// check that the key is as expected
142-
let key = try!(read_cstring(reader));
142+
let key = read_cstring(reader)?;
143143
match key.parse::<usize>() {
144144
Err(..) => return Err(DecoderError::InvalidArrayKey(arr.len(), key)),
145145
Ok(idx) => {
@@ -149,7 +149,7 @@ fn decode_array<R: Read + ?Sized>(reader: &mut R, utf8_lossy: bool) -> DecoderRe
149149
}
150150
}
151151

152-
let val = try!(decode_bson(reader, tag, utf8_lossy));
152+
let val = decode_bson(reader, tag, utf8_lossy)?;
153153
arr.push(val)
154154
}
155155

@@ -159,46 +159,46 @@ fn decode_array<R: Read + ?Sized>(reader: &mut R, utf8_lossy: bool) -> DecoderRe
159159
fn decode_bson<R: Read + ?Sized>(reader: &mut R, tag: u8, utf8_lossy: bool) -> DecoderResult<Bson> {
160160
use spec::ElementType::*;
161161
match spec::ElementType::from(tag) {
162-
Some(FloatingPoint) => Ok(Bson::FloatingPoint(try!(reader.read_f64::<LittleEndian>()))),
162+
Some(FloatingPoint) => Ok(Bson::FloatingPoint(reader.read_f64::<LittleEndian>()?)),
163163
Some(Utf8String) => read_string(reader, utf8_lossy).map(Bson::String),
164164
Some(EmbeddedDocument) => decode_document(reader).map(Bson::Document),
165165
Some(Array) => decode_array(reader, utf8_lossy).map(Bson::Array),
166166
Some(Binary) => {
167-
let len = try!(read_i32(reader));
168-
let subtype = BinarySubtype::from(try!(reader.read_u8()));
167+
let len = read_i32(reader)?;
168+
let subtype = BinarySubtype::from(reader.read_u8()?);
169169
let mut data = Vec::with_capacity(len as usize);
170-
try!(reader.take(len as u64).read_to_end(&mut data));
170+
reader.take(len as u64).read_to_end(&mut data)?;
171171
Ok(Bson::Binary(subtype, data))
172172
}
173173
Some(ObjectId) => {
174174
let mut objid = [0; 12];
175175
for x in &mut objid {
176-
*x = try!(reader.read_u8());
176+
*x = reader.read_u8()?;
177177
}
178178
Ok(Bson::ObjectId(oid::ObjectId::with_bytes(objid)))
179179
}
180-
Some(Boolean) => Ok(Bson::Boolean(try!(reader.read_u8()) != 0)),
180+
Some(Boolean) => Ok(Bson::Boolean(reader.read_u8()? != 0)),
181181
Some(NullValue) => Ok(Bson::Null),
182182
Some(RegularExpression) => {
183-
let pat = try!(read_cstring(reader));
184-
let opt = try!(read_cstring(reader));
183+
let pat = read_cstring(reader)?;
184+
let opt = read_cstring(reader)?;
185185
Ok(Bson::RegExp(pat, opt))
186186
}
187187
Some(JavaScriptCode) => read_string(reader, utf8_lossy).map(Bson::JavaScriptCode),
188188
Some(JavaScriptCodeWithScope) => {
189189
// disregard the length:
190190
// using Read::take causes infinite type recursion
191-
try!(read_i32(reader));
191+
read_i32(reader)?;
192192

193-
let code = try!(read_string(reader, utf8_lossy));
194-
let scope = try!(decode_document(reader));
193+
let code = read_string(reader, utf8_lossy)?;
194+
let scope = decode_document(reader)?;
195195
Ok(Bson::JavaScriptCodeWithScope(code, scope))
196196
}
197197
Some(Integer32Bit) => read_i32(reader).map(Bson::I32),
198198
Some(Integer64Bit) => read_i64(reader).map(Bson::I64),
199199
Some(TimeStamp) => read_i64(reader).map(Bson::TimeStamp),
200200
Some(UtcDatetime) => {
201-
let time = try!(read_i64(reader));
201+
let time = read_i64(reader)?;
202202
Ok(Bson::UtcDatetime(Utc.timestamp(time / 1000, (time % 1000) as u32 * 1000000)))
203203
}
204204
Some(Symbol) => read_string(reader, utf8_lossy).map(Bson::Symbol),

src/decoder/serde.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ impl<'de> Visitor<'de> for BsonVisitor {
175175
fn visit_map<V>(self, visitor: V) -> Result<Bson, V::Error>
176176
where V: MapAccess<'de>
177177
{
178-
let values = try!(OrderedDocumentVisitor::new().visit_map(visitor));
178+
let values = OrderedDocumentVisitor::new().visit_map(visitor)?;
179179
Ok(Bson::from_extended_document(values.into()))
180180
}
181181
}
@@ -405,14 +405,14 @@ impl<'de> VariantAccess<'de> for VariantDecoder {
405405
fn newtype_variant_seed<T>(mut self, seed: T) -> DecoderResult<T::Value>
406406
where T: DeserializeSeed<'de>
407407
{
408-
let dec = Decoder::new(try!(self.val.take().ok_or(DecoderError::EndOfStream)));
408+
let dec = Decoder::new(self.val.take().ok_or(DecoderError::EndOfStream)?);
409409
seed.deserialize(dec)
410410
}
411411

412412
fn tuple_variant<V>(mut self, _len: usize, visitor: V) -> DecoderResult<V::Value>
413413
where V: Visitor<'de>
414414
{
415-
if let Bson::Array(fields) = try!(self.val.take().ok_or(DecoderError::EndOfStream)) {
415+
if let Bson::Array(fields) = self.val.take().ok_or(DecoderError::EndOfStream)? {
416416

417417
let de = SeqDecoder {
418418
len: fields.len(),
@@ -430,7 +430,7 @@ impl<'de> VariantAccess<'de> for VariantDecoder {
430430
-> DecoderResult<V::Value>
431431
where V: Visitor<'de>
432432
{
433-
if let Bson::Document(fields) = try!(self.val.take().ok_or(DecoderError::EndOfStream)) {
433+
if let Bson::Document(fields) = self.val.take().ok_or(DecoderError::EndOfStream)? {
434434
let de = MapDecoder {
435435
len: fields.len(),
436436
iter: fields.into_iter(),
@@ -549,7 +549,7 @@ impl<'de> MapAccess<'de> for MapDecoder {
549549
fn next_value_seed<V>(&mut self, seed: V) -> DecoderResult<V::Value>
550550
where V: DeserializeSeed<'de>
551551
{
552-
let value = try!(self.value.take().ok_or(DecoderError::EndOfStream));
552+
let value = self.value.take().ok_or(DecoderError::EndOfStream)?;
553553
let de = Decoder::new(value);
554554
seed.deserialize(de)
555555
}

src/encoder/mod.rs

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ use bson::Bson;
3838
use serde::Serialize;
3939

4040
fn write_string<W: Write + ?Sized>(writer: &mut W, s: &str) -> EncoderResult<()> {
41-
try!(writer.write_i32::<LittleEndian>(s.len() as i32 + 1));
42-
try!(writer.write_all(s.as_bytes()));
43-
try!(writer.write_u8(0));
41+
writer.write_i32::<LittleEndian>(s.len() as i32 + 1)?;
42+
writer.write_all(s.as_bytes())?;
43+
writer.write_u8(0)?;
4444
Ok(())
4545
}
4646

4747
fn write_cstring<W: Write + ?Sized>(writer: &mut W, s: &str) -> EncoderResult<()> {
48-
try!(writer.write_all(s.as_bytes()));
49-
try!(writer.write_u8(0));
48+
writer.write_all(s.as_bytes())?;
49+
writer.write_u8(0)?;
5050
Ok(())
5151
}
5252

@@ -68,13 +68,13 @@ fn write_f64<W: Write + ?Sized>(writer: &mut W, val: f64) -> EncoderResult<()> {
6868
fn encode_array<W: Write + ?Sized>(writer: &mut W, arr: &[Bson]) -> EncoderResult<()> {
6969
let mut buf = Vec::new();
7070
for (key, val) in arr.iter().enumerate() {
71-
try!(encode_bson(&mut buf, &key.to_string(), val));
71+
encode_bson(&mut buf, &key.to_string(), val)?;
7272
}
7373

74-
try!(write_i32(writer,
75-
(buf.len() + mem::size_of::<i32>() + mem::size_of::<u8>()) as i32));
76-
try!(writer.write_all(&buf));
77-
try!(writer.write_u8(0));
74+
write_i32(writer,
75+
(buf.len() + mem::size_of::<i32>() + mem::size_of::<u8>()) as i32)?;
76+
writer.write_all(&buf)?;
77+
writer.write_u8(0)?;
7878
Ok(())
7979
}
8080

@@ -91,19 +91,19 @@ pub fn encode_document<'a,
9191
-> EncoderResult<()> {
9292
let mut buf = Vec::new();
9393
for (key, val) in doc.into_iter() {
94-
try!(encode_bson(&mut buf, key.as_ref(), val));
94+
encode_bson(&mut buf, key.as_ref(), val)?;
9595
}
9696

97-
try!(write_i32(writer,
98-
(buf.len() + mem::size_of::<i32>() + mem::size_of::<u8>()) as i32));
99-
try!(writer.write_all(&buf));
100-
try!(writer.write_u8(0));
97+
write_i32(writer,
98+
(buf.len() + mem::size_of::<i32>() + mem::size_of::<u8>()) as i32)?;
99+
writer.write_all(&buf)?;
100+
writer.write_u8(0)?;
101101
Ok(())
102102
}
103103

104104
fn encode_bson<W: Write + ?Sized>(writer: &mut W, key: &str, val: &Bson) -> EncoderResult<()> {
105-
try!(writer.write_u8(val.element_type() as u8));
106-
try!(write_cstring(writer, key));
105+
writer.write_u8(val.element_type() as u8)?;
106+
write_cstring(writer, key)?;
107107

108108
match val {
109109
&Bson::FloatingPoint(v) => write_f64(writer, v),
@@ -112,25 +112,25 @@ fn encode_bson<W: Write + ?Sized>(writer: &mut W, key: &str, val: &Bson) -> Enco
112112
&Bson::Document(ref v) => encode_document(writer, v),
113113
&Bson::Boolean(v) => writer.write_u8(if v { 0x01 } else { 0x00 }).map_err(From::from),
114114
&Bson::RegExp(ref pat, ref opt) => {
115-
try!(write_cstring(writer, pat));
115+
write_cstring(writer, pat)?;
116116
write_cstring(writer, opt)
117117
}
118118
&Bson::JavaScriptCode(ref code) => write_string(writer, &code),
119119
&Bson::ObjectId(ref id) => writer.write_all(&id.bytes()).map_err(From::from),
120120
&Bson::JavaScriptCodeWithScope(ref code, ref scope) => {
121121
let mut buf = Vec::new();
122-
try!(write_string(&mut buf, code));
123-
try!(encode_document(&mut buf, scope));
122+
write_string(&mut buf, code)?;
123+
encode_document(&mut buf, scope)?;
124124

125-
try!(write_i32(writer, buf.len() as i32 + 4));
125+
write_i32(writer, buf.len() as i32 + 4)?;
126126
writer.write_all(&buf).map_err(From::from)
127127
}
128128
&Bson::I32(v) => write_i32(writer, v),
129129
&Bson::I64(v) => write_i64(writer, v),
130130
&Bson::TimeStamp(v) => write_i64(writer, v),
131131
&Bson::Binary(subtype, ref data) => {
132-
try!(write_i32(writer, data.len() as i32));
133-
try!(writer.write_u8(From::from(subtype)));
132+
write_i32(writer, data.len() as i32)?;
133+
writer.write_u8(From::from(subtype))?;
134134
writer.write_all(data).map_err(From::from)
135135
}
136136
&Bson::UtcDatetime(ref v) => {

src/encoder/serde.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ impl Serialize for Document {
2323
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
2424
where S: Serializer
2525
{
26-
let mut state = try!(serializer.serialize_map(Some(self.len())));
26+
let mut state = serializer.serialize_map(Some(self.len()))?;
2727
for (k, v) in self {
28-
try!(state.serialize_key(k));
29-
try!(state.serialize_value(v));
28+
state.serialize_key(k)?;
29+
state.serialize_value(v)?;
3030
}
3131
state.end()
3232
}

src/oid.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,9 @@ impl ObjectId {
9999
/// for more information.
100100
pub fn new() -> Result<ObjectId> {
101101
let timestamp = ObjectId::gen_timestamp();
102-
let machine_id = try!(ObjectId::gen_machine_id());
102+
let machine_id = ObjectId::gen_machine_id()?;
103103
let process_id = ObjectId::gen_process_id();
104-
let counter = try!(ObjectId::gen_count());
104+
let counter = ObjectId::gen_count()?;
105105

106106
let mut buf: [u8; 12] = [0; 12];
107107
for i in 0..TIMESTAMP_SIZE {
@@ -127,7 +127,7 @@ impl ObjectId {
127127

128128
/// Creates an ObjectID using a 12-byte (24-char) hexadecimal string.
129129
pub fn with_string(s: &str) -> Result<ObjectId> {
130-
let bytes: Vec<u8> = try!(FromHex::from_hex(s.as_bytes()));
130+
let bytes: Vec<u8> = FromHex::from_hex(s.as_bytes())?;
131131
if bytes.len() != 12 {
132132
Err(Error::ArgumentError("Provided string must be a 12-byte hexadecimal string."
133133
.to_owned()))
@@ -248,7 +248,7 @@ impl ObjectId {
248248
fn gen_count() -> Result<[u8; 3]> {
249249
// Init oid counter
250250
if OID_COUNTER.load(Ordering::SeqCst) == 0 {
251-
let mut rng = try!(OsRng::new());
251+
let mut rng = OsRng::new()?;
252252
let start = rng.gen_range(0, MAX_U24 + 1);
253253
OID_COUNTER.store(start, Ordering::SeqCst);
254254
}

0 commit comments

Comments
 (0)