@@ -8,21 +8,21 @@ use enums::Variant;
8
8
use overrides:: Overrides ;
9
9
10
10
pub fn expand_derive_fromsql ( input : & MacroInput ) -> Result < String , String > {
11
- let overrides = try! ( Overrides :: extract ( & input. attrs ) ) ;
11
+ let overrides = Overrides :: extract ( & input. attrs ) ? ;
12
12
13
13
let name = overrides. name . unwrap_or_else ( || input. ident . to_string ( ) ) ;
14
14
15
15
let ( accepts_body, to_sql_body) = match input. body {
16
16
Body :: Enum ( ref variants) => {
17
- let variants: Vec < Variant > = try! ( variants. iter ( ) . map ( Variant :: parse) . collect ( ) ) ;
17
+ let variants = variants. iter ( ) . map ( Variant :: parse) . collect :: < Result < Vec < _ > , _ > > ( ) ? ;
18
18
( accepts:: enum_body ( & name, & variants) , enum_body ( & input. ident , & variants) )
19
19
}
20
20
Body :: Struct ( VariantData :: Tuple ( ref fields) ) if fields. len ( ) == 1 => {
21
21
let field = & fields[ 0 ] ;
22
22
( domain_accepts_body ( field) , domain_body ( & input. ident , field) )
23
23
}
24
24
Body :: Struct ( VariantData :: Struct ( ref fields) ) => {
25
- let fields: Vec < Field > = try! ( fields. iter ( ) . map ( Field :: parse) . collect ( ) ) ;
25
+ let fields = fields. iter ( ) . map ( Field :: parse) . collect :: < Result < Vec < _ > , _ > > ( ) ? ;
26
26
( accepts:: composite_body ( & name, "FromSql" , & fields) ,
27
27
composite_body ( & input. ident , & fields) )
28
28
}
@@ -59,7 +59,7 @@ fn enum_body(ident: &Ident, variants: &[Variant]) -> Tokens {
59
59
let variant_idents = variants. iter ( ) . map ( |v| & v. ident ) ;
60
60
61
61
quote ! {
62
- match try! ( :: std:: str :: from_utf8( buf) ) {
62
+ match std:: str :: from_utf8( buf) ? {
63
63
#(
64
64
#variant_names => :: std:: result:: Result :: Ok ( #idents:: #variant_idents) ,
65
65
) *
@@ -93,7 +93,7 @@ fn composite_body(ident: &Ident, fields: &[Field]) -> Tokens {
93
93
quote ! {
94
94
fn read_be_i32( buf: & mut & [ u8 ] ) -> :: std:: io:: Result <i32 > {
95
95
let mut bytes = [ 0 ; 4 ] ;
96
- try! ( :: std:: io:: Read :: read_exact( buf, & mut bytes) ) ;
96
+ :: std:: io:: Read :: read_exact( buf, & mut bytes) ? ;
97
97
let num = ( ( bytes[ 0 ] as i32 ) << 24 ) |
98
98
( ( bytes[ 1 ] as i32 ) << 16 ) |
99
99
( ( bytes[ 2 ] as i32 ) << 8 ) |
@@ -109,7 +109,7 @@ fn composite_body(ident: &Ident, fields: &[Field]) -> Tokens {
109
109
:: std:: marker:: Send >>
110
110
where T : :: postgres:: types:: FromSql
111
111
{
112
- let len = try! ( read_be_i32( buf) ) ;
112
+ let len = read_be_i32( buf) ? ;
113
113
let value = if len < 0 {
114
114
:: std:: option:: Option :: None
115
115
} else {
@@ -130,7 +130,7 @@ fn composite_body(ident: &Ident, fields: &[Field]) -> Tokens {
130
130
} ;
131
131
132
132
let mut buf = buf;
133
- let num_fields = try! ( read_be_i32( & mut buf) ) ;
133
+ let num_fields = read_be_i32( & mut buf) ? ;
134
134
if num_fields as usize != fields. len( ) {
135
135
return :: std:: result:: Result :: Err (
136
136
:: std:: convert:: Into :: into( format!( "invalid field count: {} vs {}" , num_fields,
@@ -142,7 +142,7 @@ fn composite_body(ident: &Ident, fields: &[Field]) -> Tokens {
142
142
) *
143
143
144
144
for field in fields {
145
- let oid = try! ( read_be_i32( & mut buf) ) as u32 ;
145
+ let oid = read_be_i32( & mut buf) ? as u32 ;
146
146
if oid != field. type_( ) . oid( ) {
147
147
return :: std:: result:: Result :: Err ( :: std:: convert:: Into :: into( "unexpected OID" ) ) ;
148
148
}
@@ -151,7 +151,7 @@ fn composite_body(ident: &Ident, fields: &[Field]) -> Tokens {
151
151
#(
152
152
#field_names => {
153
153
#temp_vars = :: std:: option:: Option :: Some (
154
- try! ( read_value( field. type_( ) , & mut buf) ) ) ;
154
+ read_value( field. type_( ) , & mut buf) ? ) ;
155
155
}
156
156
) *
157
157
_ => unreachable!( ) ,
0 commit comments