Genericで定義したAがanyになる
mapみたいなのを定義したときに
class Foo {
x: number = 1
}
class Bar<A> {
constructor(public a: A) {}
map<B>(f: (A) => B): Bar<B> {
return new Bar(f(this.a))
}
}
var bar = new Bar<Foo>(new Foo)
alert(bar.map(a => a.x).a) // 1
ここまではいいんですが、
alert(bar.map(a => a.fugaaaaaa).a) // undefined
本当はAってFooなので、持ってないfugaaaaの参照でコンパイルエラーになってほしいんですが...。
fで受け取ったAがanyになってしまいます...
何か対応策ありますでしょうか。