2013-08-22 8 views
5

Stavo solo provando a compilare l'ultima versione del file di dichiarazione jquery da definitelyTyped, here.Errore messaggio di errore typescript TS2173: i riferimenti di tipo generico devono includere tutti gli argomenti tipo

Il problema che ho qui, in questo momento è questa:

C:/nodejs/tsc.cmd --sourcemap jquery.d.ts --module commonjs --target ES5 
C:/gamesbrainiac/d.ts/DefinitelyTyped/jquery/jquery.d.ts(491,40): error TS2173: Generic type references must include all type arguments. 

node esecuzione @ versione 0.10.3 e Typescript @ versione 0.9.1.1.

Cosa significa questo errore, mi piacerebbe capire i messaggi di errore in modo da poter risolvere io stesso i problemi, invece di chiedere agli altri di farlo per me.

risposta

8

That line avrebbe dovuto essere:

promise(type?: any, target?: any): JQueryPromise<any>; 

Manderò loro una richiesta di pull. Grazie.

JQueryPromise è un'interfaccia generica. cioè prende i parametri del tipo. A partire da TS 0.9.1.1 sono più rigidi sui parametri generici. Devono essere specificati d'ora in poi. Questo era permesso nelle versioni precedenti (dove il tipo è stato assunto implicitamente) ma l'analisi del compilatore è più rigida ora (e il tipo deve essere specificato esplicitamente).

+0

Ma potresti semplicemente spiegare che cosa stai facendo quando aggiungi quelle parentesi angolari e anche l'errore, che era una parte della domanda. –

+0

Sono chiamati 'parametri di tipo generico'. Risposta estesa pure :) – basarat

Problemi correlati