Loggfila: Hvorfor er ikke dette en type feil?

stemmer
6

Jeg prøver å forstå graden av typen slutning på jobb i Loggfila. I det følgende kode eksempel, hvorfor er foo's implementering av baz.esplodegyldig? Min forståelse er at en tom metode kamper void.

interface bar {
    horace: number;
}

interface baz {
    esplode: (string, number) => bool;
}

interface bazzer extends bar, baz { }

var foo: bazzer = {
    horace: 12,
    esplode: function () { }
}

var x = foo.esplode('crackers', 2);

Takk!

Publisert på 02/10/2012 klokken 08:41
kilden bruker
På andre språk...                            


1 svar

stemmer
11

takk for å ta en titt!

Det er faktisk en bug. Når en funksjon er kontekstuelt skrevet, bør vi behandle det som om en retur-type merknad finnes som representerer den planlagte returtypen (per punkt 4.9 av språket spec), så du har rett i at det bør være en feil.

Jeg har allerede en løsning på dette, men kan du sende inn en bug på CodePlex stedet så skal vi kan spore den? Jeg kan presse fix til vår utvikle gren i ettermiddag.

Takk igjen!

Svarte 02/10/2012 kl. 17:26
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more