0e905be42b
* Switch index signature storage to 'indexInfos: IndexInfo[]' property * Accept new baselines * Remove another usage of IndexKind enum * Update getIndexedAccessType and resolveMappedTypeMembers * Accept new baselines * Update grammar checking for index signatures * Accept new baselines * Consider all index signatures in mapped types and union types * Accept new baselines * Update getIndexType * Accept new baselines * Intersect multiple applicable index signatures * Use getApplicableIndexInfo instead of hardwired string/number handling * Update index signature relationship checking * Report type for which index signature is missing * Report type for which index signature is missing * Accept new baselines * Make 'number' index signatures consistently apply to numeric strings * Accept new baselines * Update fourslash test * Revise index constraint checking * Accept new baselines * Update error messages * Accept new baselines * Update type inference from index signatures * Update isKnownProperty * Update contextual typing based on index signatures * Accept new baselines * Support union types in index signature declarations * Accept new baselines * Check duplicate index signatures / remove redundant template literals from unions with string * Accept new baselines * Include key type in diagnostic / check symbol-named properties * Accept new baselines * Minor fix * Add tests * Accept new baselines * Add optimized findApplicableIndexInfoForName * Accept new baselines * Another place we don't need to obtain literal type for property name * Accept new baselines * Don't create literal types that are going to be discarded * Individual maps for string, number, bigint, and enum literal types * Remove ineffective optimizations * Accept new baselines * Permit intersections as key types in index signatures * Index expression in element access is template literal context * Add tests * Accept new baselines * Symbol index signatures from object literals with computed symbol properties * Accept new baselines * Add more tests * Accept new baselines * Implement Go To Definition for all applicable index signatures * Add fourslash test * Accept new API baselines
71 lines
4.6 KiB
Plaintext
71 lines
4.6 KiB
Plaintext
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(8,16): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(10,21): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(11,22): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(11,26): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(12,19): error TS1268: An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type.
|
|
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(12,22): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(12,26): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(14,23): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(14,27): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(16,25): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(22,28): error TS2339: Property 'C' does not exist on type 'typeof M'.
|
|
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(23,28): error TS2314: Generic type 'E<T>' requires 1 type argument(s).
|
|
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(25,30): error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts(26,30): error TS2314: Generic type 'E<T>' requires 1 type argument(s).
|
|
|
|
|
|
==== tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts (14 errors) ====
|
|
// it is an error to use a generic type without type arguments
|
|
// all of these are errors
|
|
|
|
declare class C<T> {
|
|
foo: T;
|
|
}
|
|
|
|
declare var c: C;
|
|
~
|
|
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
|
|
declare var a: { x: C };
|
|
~
|
|
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
declare var b: { (x: C): C };
|
|
~
|
|
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
~
|
|
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
declare var d: { [x: C]: C };
|
|
~
|
|
!!! error TS1268: An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type.
|
|
~
|
|
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
~
|
|
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
|
|
declare function f(x: C): C;
|
|
~
|
|
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
~
|
|
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
|
|
declare class D extends C {}
|
|
~
|
|
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
|
|
declare module M {
|
|
export class E<T> { foo: T }
|
|
}
|
|
|
|
declare class D2 extends M.C { }
|
|
~
|
|
!!! error TS2339: Property 'C' does not exist on type 'typeof M'.
|
|
declare class D3<T extends M.E> { }
|
|
~~~
|
|
!!! error TS2314: Generic type 'E<T>' requires 1 type argument(s).
|
|
|
|
declare function h<T extends C>(x: T);
|
|
~
|
|
!!! error TS2314: Generic type 'C<T>' requires 1 type argument(s).
|
|
declare function i<T extends M.E>(x: T);
|
|
~~~
|
|
!!! error TS2314: Generic type 'E<T>' requires 1 type argument(s). |