@@ -338,11 +338,11 @@ type CreateTuple<L, V = string> =
338
338
} ) ;
339
339
340
340
( function it ( _ = 'combines only err results into one' ) {
341
- type Expectation = Result < [ never , never ] , number | string > ;
341
+ type Expectation = Result < [ never , never ] , number | 'abc' > ;
342
342
343
343
const result = Result . combine ( [
344
344
err ( 1 ) ,
345
- err ( 'string ' ) ,
345
+ err ( 'abc ' ) ,
346
346
] ) ;
347
347
348
348
const assignableToCheck : Expectation = result ;
@@ -928,7 +928,7 @@ type CreateTuple<L, V = string> =
928
928
} ) ;
929
929
930
930
( function it ( _ = 'combines only err results into one' ) {
931
- type Expectation = Result < [ never , never ] , [ number , string ] > ;
931
+ type Expectation = Result < [ never , never ] , [ number , ' string' ] > ;
932
932
933
933
const result = Result . combineWithAllErrors ( [
934
934
err ( 1 ) ,
@@ -999,6 +999,24 @@ type CreateTuple<L, V = string> =
999
999
} ) ;
1000
1000
} ) ;
1001
1001
} ) ;
1002
+
1003
+ ( function describe ( _ = 'err' ) {
1004
+ ( function it ( _ = 'infers the error type narrowly when it is a string' ) {
1005
+ type Expectation = Result < never , 'error' >
1006
+
1007
+ const result = err ( 'error' )
1008
+
1009
+ const assignableToCheck : Expectation = result ;
1010
+ } ) ;
1011
+
1012
+ ( function it ( _ = 'infers the error type widely when it is not a string' ) {
1013
+ type Expectation = Result < never , { abc : number } >
1014
+
1015
+ const result = err ( { abc : 123 } )
1016
+
1017
+ const assignableToCheck : Expectation = result ;
1018
+ } ) ;
1019
+ } )
1002
1020
} ) ;
1003
1021
1004
1022
0 commit comments