// this.call in static generic method not resolved correctly class A { static one(source:T, value: number): T { return source; } static two(source: T): T { return this.one(source, 42); } } class B { static one(source: B, value: number): B { return source; } static two(source: B): B { return this.one(source, 42); } }