tests/cases/compiler/thisBinding2.ts(10,11): error TS7041: The containing arrow function captures the global value of 'this' which implicitly has type 'any'.


==== tests/cases/compiler/thisBinding2.ts (1 errors) ====
    class C {
     x: number;
        constructor() {
            this.x = (() => {
       var x = 1;
       return this.x;
      })();
      this.x = function() {
       var x = 1;
       return this.x;
              ~~~~
!!! error TS7041: The containing arrow function captures the global value of 'this' which implicitly has type 'any'.
      }();
        }  
    }
    declare function setTimeout(expression: any, msec?: number, language?: any): number;
    var messenger = {
        message: "Hello World",
        start: function () {
            return setTimeout(() => { var x = this.message; }, 3000);
        }
    };
    