tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(22,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(26,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(30,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(34,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(38,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(77,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(90,10): error TS2382: Specialized overload signature is not assignable to any non-specialized signature. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(94,17): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(95,17): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(96,17): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(98,32): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(99,32): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts(100,32): error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. ==== tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts (13 errors) ==== // string literal types are subtypes of string, any // ok function f1(x: 'a'); function f1(x: string); function f1(x: string) { } // ok function f2(x: 'a'); function f2(x: any); function f2(x: any) { } // errors function f3(x: 'a'); function f3(x: Object); function f3(x: any) { } function f4(x: 'a'); function f4(x: {}); function f4(x: any) { } function f5(x: 'a'); ~~ !!! error TS2382: Specialized overload signature is not assignable to any non-specialized signature. function f5(x: number); function f5(x: any) { } function f6(x: 'a'); ~~ !!! error TS2382: Specialized overload signature is not assignable to any non-specialized signature. function f6(x: boolean); function f6(x: any) { } function f7(x: 'a'); ~~ !!! error TS2382: Specialized overload signature is not assignable to any non-specialized signature. function f7(x: Date); function f7(x: any) { } function f8(x: 'a'); ~~ !!! error TS2382: Specialized overload signature is not assignable to any non-specialized signature. function f8(x: RegExp); function f8(x: any) { } function f9(x: 'a'); ~~ !!! error TS2382: Specialized overload signature is not assignable to any non-specialized signature. function f9(x: () => {}); function f9(x: any) { } class C implements String { toString(): string { return null; } charAt(pos: number): string { return null; } charCodeAt(index: number): number { return null; } concat(...strings: string[]): string { return null; } indexOf(searchString: string, position?: number): number { return null; } lastIndexOf(searchString: string, position?: number): number { return null; } localeCompare(that: string): number { return null; } match(regexp: any): string[] { return null; } replace(searchValue: any, replaceValue: any): string { return null; } search(regexp: any): number { return null; } slice(start?: number, end?: number): string { return null; } split(separator: any, limit?: number): string[] { return null; } substring(start: number, end?: number): string { return null; } toLowerCase(): string { return null; } toLocaleLowerCase(): string { return null; } toUpperCase(): string { return null; } toLocaleUpperCase(): string { return null; } trim(): string { return null; } length: number; substr(from: number, length?: number): string { return null; } valueOf(): string { return null; } [index: number]: string; } // BUG 831846 function f10(x: 'a'); function f10(x: C); function f10(x: any) { } interface I extends String { foo: string; } // BUG 831846 function f11(x: 'a'); ~~~ !!! error TS2382: Specialized overload signature is not assignable to any non-specialized signature. function f11(x: I); function f11(x: any) { } function f12(x: 'a'); function f12(x: T); function f12(x: any) { } function f13(x: 'a'); function f13(x: T); function f13(x: any) { } enum E { A } function f14(x: 'a'); ~~~ !!! error TS2382: Specialized overload signature is not assignable to any non-specialized signature. function f14(x: E); function f14(x: any) { } function f15(x: 'a'); ~~~~~~~~~~~ !!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. function f15(x: U); ~~~~~~~~~~~ !!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. function f15(x: any) { } ~~~~~~~~~~~ !!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. function f16(x: 'a'); ~~~~~~~~~~~ !!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. function f16(x: U); ~~~~~~~~~~~ !!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list. function f16(x: any) { } ~~~~~~~~~~~ !!! error TS2313: Constraint of a type parameter cannot reference any type parameter from the same type parameter list.