1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
tests/cases/compiler/templateLiteralIntersection2.ts(7,12): error TS2345: Argument of type '"foo/bar"' is not assignable to parameter of type '`${Path}/${Path}`'.
tests/cases/compiler/templateLiteralIntersection2.ts(20,10): error TS2345: Argument of type '""' is not assignable to parameter of type '`a${string}` & `${string}a`'.
Type '""' is not assignable to type '`a${string}`'.
tests/cases/compiler/templateLiteralIntersection2.ts(22,10): error TS2345: Argument of type '"ab"' is not assignable to parameter of type '`a${string}` & `${string}a`'.
Type '"ab"' is not assignable to type '`${string}a`'.
==== tests/cases/compiler/templateLiteralIntersection2.ts (3 errors) ====
type Path = string & { _pathBrand: any };
type JoinedPath = `${Path}/${Path}`;
declare function joinedPath(p: JoinedPath): void;
joinedPath("foo/bar");
~~~~~~~~~
!!! error TS2345: Argument of type '"foo/bar"' is not assignable to parameter of type '`${Path}/${Path}`'.
declare const somePath: Path;
joinedPath(`${somePath}/${somePath}`);
type StartsWithA = `a${string}`;
type EndsWithA = `${string}a`;
declare function withinAs(p: StartsWithA & EndsWithA): void;
withinAs("");
~~
!!! error TS2345: Argument of type '""' is not assignable to parameter of type '`a${string}` & `${string}a`'.
!!! error TS2345: Type '""' is not assignable to type '`a${string}`'.
withinAs("a");
withinAs("ab");
~~~~
!!! error TS2345: Argument of type '"ab"' is not assignable to parameter of type '`a${string}` & `${string}a`'.
!!! error TS2345: Type '"ab"' is not assignable to type '`${string}a`'.
withinAs("aba");
withinAs("abavvvva");
|