@@ -87,7 +87,7 @@ impl<W: WriteBytesExt> Encoder<W> {
87
87
88
88
/// Encode data, equivalent to: decoder << data
89
89
pub fn encode < T : Encodable , > ( & mut self , data : & T ) -> Result < usize > {
90
- let bytes = try! ( data. encode ( & mut self . writer ) ) ;
90
+ let bytes = data. encode ( & mut self . writer ) ? ;
91
91
self . bytes += bytes;
92
92
Ok ( bytes)
93
93
}
@@ -178,8 +178,8 @@ impl Encodable for u64 {
178
178
179
179
impl Encodable for String {
180
180
fn encode < W : WriteBytesExt > ( & self , w : & mut W ) -> Result < usize > {
181
- let mut bytes = try! ( ( self . len ( ) as u16 ) . encode ( w) ) ;
182
- bytes += try! ( w. write_all ( self . as_bytes ( ) ) . and ( Ok ( self . len ( ) ) ) ) ;
181
+ let mut bytes = ( self . len ( ) as u16 ) . encode ( w) ? ;
182
+ bytes += w. write_all ( self . as_bytes ( ) ) . and ( Ok ( self . len ( ) ) ) ? ;
183
183
Ok ( bytes)
184
184
}
185
185
}
@@ -245,8 +245,8 @@ impl Encodable for DirEntryData {
245
245
impl Encodable for Data {
246
246
fn encode < W : WriteBytesExt > ( & self , w : & mut W ) -> Result < usize > {
247
247
let size = self . 0 . len ( ) ;
248
- let bytes = try! ( ( size as u32 ) . encode ( w) ) + size;
249
- try! ( w. write_all ( & self . 0 ) ) ;
248
+ let bytes = ( size as u32 ) . encode ( w) ? + size;
249
+ w. write_all ( & self . 0 ) ? ;
250
250
Ok ( bytes)
251
251
}
252
252
}
@@ -388,8 +388,8 @@ impl Decodable for u64 {
388
388
389
389
impl Decodable for String {
390
390
fn decode < R : ReadBytesExt > ( r : & mut R ) -> Result < Self > {
391
- let len: u16 = try! ( Decodable :: decode ( r) ) ;
392
- let buf = try! ( read_exact ( r, len as usize ) ) ;
391
+ let len: u16 = Decodable :: decode ( r) ? ;
392
+ let buf = read_exact ( r, len as usize ) ? ;
393
393
String :: from_utf8 ( buf) . or ( res ! ( io_err!( Other , "Invalid UTF-8 sequence" ) ) )
394
394
}
395
395
}
@@ -398,94 +398,94 @@ impl Decodable for Qid {
398
398
fn decode < R : ReadBytesExt > ( r : & mut R ) -> Result < Self > {
399
399
Ok ( Qid {
400
400
typ : decode ! ( QidType , * r) ,
401
- version : try! ( Decodable :: decode ( r) ) ,
402
- path : try! ( Decodable :: decode ( r) )
401
+ version : Decodable :: decode ( r) ? ,
402
+ path : Decodable :: decode ( r) ?
403
403
} )
404
404
}
405
405
}
406
406
407
407
impl Decodable for Statfs {
408
408
fn decode < R : ReadBytesExt > ( r : & mut R ) -> Result < Self > {
409
409
Ok ( Statfs {
410
- typ : try! ( Decodable :: decode ( r) ) ,
411
- bsize : try! ( Decodable :: decode ( r) ) ,
412
- blocks : try! ( Decodable :: decode ( r) ) ,
413
- bfree : try! ( Decodable :: decode ( r) ) ,
414
- bavail : try! ( Decodable :: decode ( r) ) ,
415
- files : try! ( Decodable :: decode ( r) ) ,
416
- ffree : try! ( Decodable :: decode ( r) ) ,
417
- fsid : try! ( Decodable :: decode ( r) ) ,
418
- namelen : try! ( Decodable :: decode ( r) ) ,
410
+ typ : Decodable :: decode ( r) ? ,
411
+ bsize : Decodable :: decode ( r) ? ,
412
+ blocks : Decodable :: decode ( r) ? ,
413
+ bfree : Decodable :: decode ( r) ? ,
414
+ bavail : Decodable :: decode ( r) ? ,
415
+ files : Decodable :: decode ( r) ? ,
416
+ ffree : Decodable :: decode ( r) ? ,
417
+ fsid : Decodable :: decode ( r) ? ,
418
+ namelen : Decodable :: decode ( r) ? ,
419
419
} )
420
420
}
421
421
}
422
422
423
423
impl Decodable for Time {
424
424
fn decode < R : ReadBytesExt > ( r : & mut R ) -> Result < Self > {
425
425
Ok ( Time {
426
- sec : try! ( Decodable :: decode ( r) ) ,
427
- nsec : try! ( Decodable :: decode ( r) ) ,
426
+ sec : Decodable :: decode ( r) ? ,
427
+ nsec : Decodable :: decode ( r) ? ,
428
428
} )
429
429
}
430
430
}
431
431
432
432
impl Decodable for Stat {
433
433
fn decode < R : ReadBytesExt > ( r : & mut R ) -> Result < Self > {
434
434
Ok ( Stat {
435
- mode : try! ( Decodable :: decode ( r) ) ,
436
- uid : try! ( Decodable :: decode ( r) ) ,
437
- gid : try! ( Decodable :: decode ( r) ) ,
438
- nlink : try! ( Decodable :: decode ( r) ) ,
439
- rdev : try! ( Decodable :: decode ( r) ) ,
440
- size : try! ( Decodable :: decode ( r) ) ,
441
- blksize : try! ( Decodable :: decode ( r) ) ,
442
- blocks : try! ( Decodable :: decode ( r) ) ,
443
- atime : try! ( Decodable :: decode ( r) ) ,
444
- mtime : try! ( Decodable :: decode ( r) ) ,
445
- ctime : try! ( Decodable :: decode ( r) ) ,
435
+ mode : Decodable :: decode ( r) ? ,
436
+ uid : Decodable :: decode ( r) ? ,
437
+ gid : Decodable :: decode ( r) ? ,
438
+ nlink : Decodable :: decode ( r) ? ,
439
+ rdev : Decodable :: decode ( r) ? ,
440
+ size : Decodable :: decode ( r) ? ,
441
+ blksize : Decodable :: decode ( r) ? ,
442
+ blocks : Decodable :: decode ( r) ? ,
443
+ atime : Decodable :: decode ( r) ? ,
444
+ mtime : Decodable :: decode ( r) ? ,
445
+ ctime : Decodable :: decode ( r) ? ,
446
446
} )
447
447
}
448
448
}
449
449
450
450
impl Decodable for SetAttr {
451
451
fn decode < R : ReadBytesExt > ( r : & mut R ) -> Result < Self > {
452
452
Ok ( SetAttr {
453
- mode : try! ( Decodable :: decode ( r) ) ,
454
- uid : try! ( Decodable :: decode ( r) ) ,
455
- gid : try! ( Decodable :: decode ( r) ) ,
456
- size : try! ( Decodable :: decode ( r) ) ,
457
- atime : try! ( Decodable :: decode ( r) ) ,
458
- mtime : try! ( Decodable :: decode ( r) ) ,
453
+ mode : Decodable :: decode ( r) ? ,
454
+ uid : Decodable :: decode ( r) ? ,
455
+ gid : Decodable :: decode ( r) ? ,
456
+ size : Decodable :: decode ( r) ? ,
457
+ atime : Decodable :: decode ( r) ? ,
458
+ mtime : Decodable :: decode ( r) ? ,
459
459
} )
460
460
}
461
461
}
462
462
463
463
impl Decodable for DirEntry {
464
464
fn decode < R : ReadBytesExt > ( r : & mut R ) -> Result < Self > {
465
465
Ok ( DirEntry {
466
- qid : try! ( Decodable :: decode ( r) ) ,
467
- offset : try! ( Decodable :: decode ( r) ) ,
468
- typ : try! ( Decodable :: decode ( r) ) ,
469
- name : try! ( Decodable :: decode ( r) ) ,
466
+ qid : Decodable :: decode ( r) ? ,
467
+ offset : Decodable :: decode ( r) ? ,
468
+ typ : Decodable :: decode ( r) ? ,
469
+ name : Decodable :: decode ( r) ? ,
470
470
} )
471
471
}
472
472
}
473
473
474
474
impl Decodable for DirEntryData {
475
475
fn decode < R : ReadBytesExt > ( r : & mut R ) -> Result < Self > {
476
- let count: u32 = try! ( Decodable :: decode ( r) ) ;
476
+ let count: u32 = Decodable :: decode ( r) ? ;
477
477
let mut data: Vec < DirEntry > = Vec :: with_capacity ( count as usize ) ;
478
478
for _ in 0 ..count {
479
- data. push ( try! ( Decodable :: decode ( r) ) ) ;
479
+ data. push ( Decodable :: decode ( r) ? ) ;
480
480
}
481
481
Ok ( DirEntryData :: with ( data) )
482
482
}
483
483
}
484
484
485
485
impl Decodable for Data {
486
486
fn decode < R : ReadBytesExt > ( r : & mut R ) -> Result < Self > {
487
- let len: u32 = try! ( Decodable :: decode ( r) ) ;
488
- let buf = try! ( read_exact ( r, len as usize ) ) ;
487
+ let len: u32 = Decodable :: decode ( r) ? ;
488
+ let buf = read_exact ( r, len as usize ) ? ;
489
489
Ok ( Data ( buf) )
490
490
}
491
491
}
@@ -495,10 +495,10 @@ impl Decodable for Flock {
495
495
Ok ( Flock {
496
496
typ : decode ! ( LockType , * r) ,
497
497
flags : decode ! ( LockFlag , * r) ,
498
- start : try! ( Decodable :: decode ( r) ) ,
499
- length : try! ( Decodable :: decode ( r) ) ,
500
- proc_id : try! ( Decodable :: decode ( r) ) ,
501
- client_id : try! ( Decodable :: decode ( r) ) ,
498
+ start : Decodable :: decode ( r) ? ,
499
+ length : Decodable :: decode ( r) ? ,
500
+ proc_id : Decodable :: decode ( r) ? ,
501
+ client_id : Decodable :: decode ( r) ? ,
502
502
} )
503
503
}
504
504
}
@@ -507,20 +507,20 @@ impl Decodable for Getlock {
507
507
fn decode < R : ReadBytesExt > ( r : & mut R ) -> Result < Self > {
508
508
Ok ( Getlock {
509
509
typ : decode ! ( LockType , * r) ,
510
- start : try! ( Decodable :: decode ( r) ) ,
511
- length : try! ( Decodable :: decode ( r) ) ,
512
- proc_id : try! ( Decodable :: decode ( r) ) ,
513
- client_id : try! ( Decodable :: decode ( r) ) ,
510
+ start : Decodable :: decode ( r) ? ,
511
+ length : Decodable :: decode ( r) ? ,
512
+ proc_id : Decodable :: decode ( r) ? ,
513
+ client_id : Decodable :: decode ( r) ? ,
514
514
} )
515
515
}
516
516
}
517
517
518
518
impl < T : Decodable > Decodable for Vec < T > {
519
519
fn decode < R : ReadBytesExt > ( r : & mut R ) -> Result < Self > {
520
- let len: u16 = try! ( Decodable :: decode ( r) ) ;
520
+ let len: u16 = Decodable :: decode ( r) ? ;
521
521
let mut buf = Vec :: new ( ) ;
522
522
for _ in 0 ..len {
523
- buf. push ( try! ( Decodable :: decode ( r) ) ) ;
523
+ buf. push ( Decodable :: decode ( r) ? ) ;
524
524
}
525
525
Ok ( buf)
526
526
}
@@ -530,8 +530,8 @@ impl Decodable for Msg {
530
530
fn decode < R : ReadBytesExt > ( r : & mut R ) -> Result < Self > {
531
531
use MsgType :: * ;
532
532
533
- let size = try! ( r. read_u32 :: < LittleEndian > ( ) ) - 4 ;
534
- let mut buf = Cursor :: new ( try! ( read_exact ( r, size as usize ) ) ) ;
533
+ let size = r. read_u32 :: < LittleEndian > ( ) ? - 4 ;
534
+ let mut buf = Cursor :: new ( read_exact ( r, size as usize ) ? ) ;
535
535
536
536
let msg_type = MsgType :: from_u8 ( decode ! ( buf) ) ;
537
537
let tag = decode ! ( buf) ;
0 commit comments