@@ -10,7 +10,7 @@ extern crate error_chain;
10
10
fn smoke_test_1 ( ) {
11
11
error_chain ! {
12
12
types {
13
- Error , ErrorKind , Result ;
13
+ Error , ErrorKind , ResultExt , Result ;
14
14
}
15
15
16
16
links { }
@@ -175,7 +175,7 @@ fn order_test_7() {
175
175
foreign_links { }
176
176
177
177
types {
178
- Error , ErrorKind , Result ;
178
+ Error , ErrorKind , ResultExt , Result ;
179
179
}
180
180
} ;
181
181
}
@@ -190,7 +190,7 @@ fn order_test_8() {
190
190
foreign_links { }
191
191
192
192
types {
193
- Error , ErrorKind , Result ;
193
+ Error , ErrorKind , ResultExt , Result ;
194
194
}
195
195
} ;
196
196
}
@@ -377,7 +377,7 @@ mod attributes_test {
377
377
378
378
error_chain ! {
379
379
types {
380
- Error , ErrorKind , Result ;
380
+ Error , ErrorKind , ResultExt , Result ;
381
381
}
382
382
383
383
links {
@@ -441,7 +441,7 @@ fn documentation() {
441
441
mod multiple_error_same_mod {
442
442
error_chain ! {
443
443
types {
444
- MyError , MyErrorKind , MyResult ;
444
+ MyError , MyErrorKind , MyResultExt , MyResult ;
445
445
}
446
446
}
447
447
error_chain ! { }
@@ -523,3 +523,21 @@ fn bail() {
523
523
bail ! ( "{}" , "baz" )
524
524
}
525
525
}
526
+
527
+ /// Since the `types` declaration is a list of symbols, check if we
528
+ /// don't change their meaning or order.
529
+ #[ test]
530
+ fn types_declarations ( ) {
531
+ error_chain ! {
532
+ types {
533
+ MyError , MyErrorKind , MyResultExt , MyResult ;
534
+ }
535
+ }
536
+
537
+ MyError :: from_kind ( MyErrorKind :: Msg ( "" . into ( ) ) ) ;
538
+
539
+ let err: Result < ( ) , :: std:: io:: Error > = Ok ( ( ) ) ;
540
+ MyResultExt :: chain_err ( err, || "" ) . unwrap ( ) ;
541
+
542
+ let _: MyResult < ( ) > = Ok ( ( ) ) ;
543
+ }
0 commit comments