Tapuscrit: void type de retour converti à n'importe quel type?

Je semble ne pas être en mesure de comprendre pourquoi le code suivant ne soulève pas d'erreur:

var rg: {(): void;}[] = [];
rg.push(function():string {return "";})

J'ai clairement que le type doit être un tableau de fonctions qui retournent des void, cependant, je push il y a une fonction qui renvoie un string et pourtant, le compilateur n'a pas à se plaindre. Si je change la définition de rg à

var rg: {():number;}[] = [];

Le compilateur commence à se plaindre.

Est-ce un bug ou est-ce la façon dont le vide le type de retour est censé travailler (c'est à dire à tout va si void est utilisé, en gros faire le même type de retour any)?

InformationsquelleAutor Peter StJ | 2012-10-06