/a.js(9,26): error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation.
/a.js(15,31): error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation.


==== /a.js (2 errors) ====
    class Test {
        constructor() {
            /** @type {number[]} */
            this.data = [1, 2, 3];
        }
    
        finderRaw() {
            this.data.find(function (d) {
                return d === this.data.length
                             ~~~~
!!! error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation.
!!! related TS2738 /a.js:8:24: An outer value of 'this' is shadowed by this container.
            })
        }
    
        forEacherRaw() {
            this.data.forEach(function (d) {
                console.log(d === this.data.length)
                                  ~~~~
!!! error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation.
!!! related TS2738 /a.js:14:27: An outer value of 'this' is shadowed by this container.
            })
        }
    
        forEacher() {
            this.data.forEach(
            /** @this {Test} */
            function (d) {
                console.log(d === this.data.length)
            }, this)
        }
    
        finder() {
            this.data.find(
            /** @this {Test} */
            function (d) {
                return d === this.data.length
            }, this)
        }
    }
    