@@ -70,25 +70,25 @@ pub fn demangle(s: &str) -> Result<(Demangle, &str), ()> {
70
70
71
71
let mut elements = 0 ;
72
72
let mut chars = inner. chars ( ) ;
73
- let mut c = try! ( chars. next ( ) . ok_or ( ( ) ) ) ;
73
+ let mut c = chars. next ( ) . ok_or ( ( ) ) ? ;
74
74
while c != 'E' {
75
75
// Decode an identifier element's length.
76
76
if !c. is_digit ( 10 ) {
77
77
return Err ( ( ) ) ;
78
78
}
79
79
let mut len = 0usize ;
80
80
while let Some ( d) = c. to_digit ( 10 ) {
81
- len = try! ( len
81
+ len = len
82
82
. checked_mul ( 10 )
83
83
. and_then ( |len| len. checked_add ( d as usize ) )
84
- . ok_or ( ( ) ) ) ;
85
- c = try! ( chars. next ( ) . ok_or ( ( ) ) ) ;
84
+ . ok_or ( ( ) ) ? ;
85
+ c = chars. next ( ) . ok_or ( ( ) ) ? ;
86
86
}
87
87
88
88
// `c` already contains the first character of this identifier, skip it and
89
89
// all the other characters of this identifier, to reach the next element.
90
90
for _ in 0 ..len {
91
- c = try! ( chars. next ( ) . ok_or ( ( ) ) ) ;
91
+ c = chars. next ( ) . ok_or ( ( ) ) ? ;
92
92
}
93
93
94
94
elements += 1 ;
@@ -126,18 +126,18 @@ impl<'a> fmt::Display for Demangle<'a> {
126
126
break ;
127
127
}
128
128
if element != 0 {
129
- try! ( f. write_str ( "::" ) ) ;
129
+ f. write_str ( "::" ) ? ;
130
130
}
131
131
if rest. starts_with ( "_$" ) {
132
132
rest = & rest[ 1 ..] ;
133
133
}
134
134
loop {
135
135
if rest. starts_with ( '.' ) {
136
136
if let Some ( '.' ) = rest[ 1 ..] . chars ( ) . next ( ) {
137
- try! ( f. write_str ( "::" ) ) ;
137
+ f. write_str ( "::" ) ? ;
138
138
rest = & rest[ 2 ..] ;
139
139
} else {
140
- try! ( f. write_str ( "." ) ) ;
140
+ f. write_str ( "." ) ? ;
141
141
rest = & rest[ 1 ..] ;
142
142
}
143
143
} else if rest. starts_with ( '$' ) {
@@ -171,7 +171,7 @@ impl<'a> fmt::Display for Demangle<'a> {
171
171
if let ( true , Some ( c) ) = ( all_lower_hex, c) {
172
172
// FIXME(eddyb) do we need to filter out control codepoints?
173
173
if !c. is_control ( ) {
174
- try! ( c. fmt ( f) ) ;
174
+ c. fmt ( f) ? ;
175
175
rest = after_escape;
176
176
continue ;
177
177
}
@@ -180,16 +180,16 @@ impl<'a> fmt::Display for Demangle<'a> {
180
180
break ;
181
181
}
182
182
} ;
183
- try! ( f. write_str ( unescaped) ) ;
183
+ f. write_str ( unescaped) ? ;
184
184
rest = after_escape;
185
185
} else if let Some ( i) = rest. find ( |c| c == '$' || c == '.' ) {
186
- try! ( f. write_str ( & rest[ ..i] ) ) ;
186
+ f. write_str ( & rest[ ..i] ) ? ;
187
187
rest = & rest[ i..] ;
188
188
} else {
189
189
break ;
190
190
}
191
191
}
192
- try! ( f. write_str ( rest) ) ;
192
+ f. write_str ( rest) ? ;
193
193
}
194
194
195
195
Ok ( ( ) )
0 commit comments