sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: go
Issue: cmd/compile: compileSSA takes a long time on very large (generated) functions
Labels: ToolSpeed,NeedsInvestigation

### What version of Go are you using (`go version`)?

<pre>
$ go version
go version go1.12beta2 linux/amd64
</pre>

### Does this issue reproduce with the latest release?

Yes

### What operating system and processor architecture are you using (`go env`)?

<details><summary><code>go env</code> Output</summary><br><pre>
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/esmarques/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/esmarques/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build549978624=/tmp/go-build -gno-record-gcc-switches"
</pre></details>

### What did you do?

`$ go build a.go`

a.go is machine-genrated Go code:

[a.zip](https://github.com/golang/go/files/2829244/a.zip)

<pre>
$ wc a.go
  44611  190970 1405515 a.go
</pre>

### What did you expect to see?

go build should finish eventually.

### What did you see instead?

go build consuming all the CPU and never finishes.
Repository: godot
Issue: Circle gizmo losing its looking transform in Overdraw mode
Labels: bug,topic:rendering,topic:editor,confirmed

**Godot version:**
3.1 beta 3

**Issue description:**
I dont know whether its bug or is it intended : in overdraw mode that gizmo looking incorrect(cuz it start to use   transformation instead face it to user) compared to other draw modes
Take for example an OmniLight node -

![image](https://user-images.githubusercontent.com/3036176/52231045-f24a3d80-28c9-11e9-957c-c42ee9927ff9.png)

![image](https://user-images.githubusercontent.com/3036176/52231083-0d1cb200-28ca-11e9-98e4-771d0ea4ca73.png)

also note that its not correctly draw a lamp bulb sprite in that mode
Repository: TypeScript
Issue: typescript/idea auto create method bug
Labels: Bug

<!-- 🚨 STOP 🚨 𝗦𝗧𝗢𝗣 🚨 𝑺𝑻𝑶𝑷 🚨

Half of all issues filed here are duplicates, answered in the FAQ, or not appropriate for the bug tracker. Even if you think you've found a *bug*, please read the FAQ first, especially the Common "Bugs" That Aren't Bugs section!

Please help us by doing the following steps before logging an issue:
  * Search: https://github.com/Microsoft/TypeScript/search?type=Issues
  * Read the FAQ: https://github.com/Microsoft/TypeScript/wiki/FAQ

Please fill in the *entire* template below.
-->

<!-- Please try to reproduce the issue with `typescript@next`. It may have already been fixed. -->
**TypeScript Version:**  3.4.0-dev.201xxxxx

<!-- Search terms you tried before logging this (so others can find this issue more easily) -->
**Search Terms:**

**Code**

video here
https://www.youtube.com/watch?v=3WaM6SvJk-c&feature=youtu.be

```ts
import novelInfo, { IMdconfMeta, _handleDataForStringify } from 'node-novel-info';

class  A
{
	protected _handleDataForStringify(...argv)
	{
		// @ts-ignore
		return _handleDataForStringify(...argv)
	}
}

class B extends A
{

	// create  _handleDataForStringify here

}
```

**Expected behavior:**

```ts
	protected _handleDataForStringify(...argv): IMdconfMeta
	{
		return super._handleDataForStringify(...argv);
	}
```

**Actual behavior:**

```ts
	protected _handleDataForStringify(...argv): IMdconfMeta
	{
		return super._handleDataForStringify(argv);
	}
```

**Playground Link:** <!-- A link to a TypeScript Playground "Share" link which demonstrates this behavior -->

**Related Issues:** <!-- Did you find other bugs that looked similar? -->
Repository: node
Issue: Frequent console.log() calls prevent error output on stack overflow
Labels: windows,tty,stdio

This seems familiar, but I cannot recall if this was considered wontfix.

See report on SO: https://stackoverflow.com/questions/54508290/maximum-calls-does-not-exceed-on-certain-code-inside-function-in-nodejs

This is not reproducible in Node.js 6 and 8, but is reproducible in Node.js 10 and 11, at least in Windows 7 x64.
Repository: TypeScript
Issue: Overload gets lost in mapped type with conditional type
Labels: Suggestion,In Discussion

<!-- 🚨 STOP 🚨 𝗦𝗧𝗢𝗣 🚨 𝑺𝑻𝑶𝑷 🚨

Half of all issues filed here are duplicates, answered in the FAQ, or not appropriate for the bug tracker. Even if you think you've found a *bug*, please read the FAQ first, especially the Common "Bugs" That Aren't Bugs section!

Please help us by doing the following steps before logging an issue:
  * Search: https://github.com/Microsoft/TypeScript/search?type=Issues
  * Read the FAQ: https://github.com/Microsoft/TypeScript/wiki/FAQ

Please fill in the *entire* template below.
-->

<!-- Please try to reproduce the issue with `typescript@next`. It may have already been fixed. -->
**TypeScript Version:**  3.4.0-dev.201xxxxx

<!-- Search terms you tried before logging this (so others can find this issue more easily) -->
**Search Terms:** mapped type overload

**Code**

```ts
interface Overloads {
  foo(a: string): void;
  foo(a: number, b: string): void;
}

/** Converts all properties of an object to Promises and all methods to return Promises */
type ProxiedObject<T> = {
  [P in keyof T]: T[P] extends (...args: infer Arguments) => infer R
    ? (...args: Arguments) => Promise<R>
    : Promise<T[P]>
};

declare let x: ProxiedObject<Overloads>;
x.foo("abc"); // Error: [ts] Expected 2 arguments, but got 1. [2554]
x.foo(123, "abc");
```

**Expected behavior:**
No error, overload should be maintained.

This makes it impossible to use this pattern with popular types that contain overloads, like Rx `Observable` `pipe()`/`subscribe()`.
The `ProxiedObject` type is used in https://github.com/GoogleChromeLabs/comlink.

**Actual behavior:**
Overload gets lost, compile error when trying to call the first overload.

**Playground Link:** <!-- A link to a TypeScript Playground "Share" link which demonstrates this behavior --> [link](https://www.typescriptlang.org/play/index.html#src=interface%20Overloads%20%7B%0D%0A%20%20foo(a%3A%20string)%3A%20void%3B%0D%0A%20%20foo(a%3A%20number%2C%20b%3A%20string)%3A%20void%3B%0D%0A%7D%0D%0A%0D%0A%2F**%20Converts%20all%20properties%20of%20an%20object%20to%20Promises%20and%20all%20methods%20to%20return%20Promises%20*%2F%0D%0Atype%20ProxiedObject%3CT%3E%20%3D%20%7B%0D%0A%20%20%5BP%20in%20keyof%20T%5D%3A%20T%5BP%5D%20extends%20(...args%3A%20infer%20Arguments)%20%3D%3E%20infer%20R%0D%0A%20%20%20%20%3F%20(...args%3A%20Arguments)%20%3D%3E%20Promise%3CR%3E%0D%0A%20%20%20%20%3A%20Promise%3CT%5BP%5D%3E%0D%0A%7D%3B%0D%0A%0D%0Adeclare%20let%20x%3A%20ProxiedObject%3COverloads%3E%3B%0D%0Ax.foo(%22abc%22)%3B%20%2F%2F%20Error%3A%20%5Bts%5D%20Expected%202%20arguments%2C%20but%20got%201.%20%5B2554%5D%0D%0Ax.foo(123%2C%20%22abc%22)%3B)
Repository: three.js
Issue: ObjectLoader: Add support for helpers
Labels: Enhancement

##### Description of the problem
If you serialize a Box3Helper object it drops the reference to `box`, which means that parsing it always returns the default Box3Helper. In the snippet below, it should appear as if there is only one box, but instead two boxes of different sizes show up.

Relevant snippet:
```javascript
    var box = new THREE.Box3(
      new THREE.Vector3( -5, -5, -5 ),
      new THREE.Vector3( 5, 5, 5 ),
    );

    var helper = new THREE.Box3Helper( box, 0xffff00 );
    scene.add(helper);

    var string = JSON.stringify(helper);
    var loader = new THREE.ObjectLoader();
    var parsed = loader.parse(JSON.parse(string));
    scene.add(parsed);
```
https://codepen.io/anon/pen/rPzLPO
##### Three.js version

- [ ] Dev
- [x] r101
- [ ] ...

##### Browser

- [ ] All of them
- [x] Chrome
- [ ] Firefox
- [ ] Internet Explorer

##### OS

- [ ] All of them
- [ ] Windows
- [x] macOS
- [ ] Linux
- [ ] Android
- [ ] iOS

##### Hardware Requirements (graphics card, VR Device, ...)
Repository: rust
Issue: Error duplicate definitions for impls on distinct associated types
Labels: A-type-system,A-associated-items,T-compiler,C-bug,T-types

As a minimal example of the error I'm running into (using the [`typenum`](https://crates.io/crates/typenum) crate although I don't think it's specific to that):
```rust
use core::{marker::PhantomData, ops::Add};
use typenum::*;

struct Wrapper<T>(PhantomData<T>);

type X = <U2 as Add<U3>>::Output;
type Y = <U7 as Add<U9>>::Output;

impl Wrapper<X> {
    fn foo() {}
}

impl Wrapper<Y> {
    fn foo() {}
}
```
gives
```
error[E0592]: duplicate definitions with name `foo`
  --> .../lib.rs:30:9
   |
30 |         fn foo() {}
   |         ^^^^^^^^^^^ duplicate definitions for `foo`
...
34 |         fn foo() {}
   |         ----------- other definition for `foo`
```
I think this might be related to #20400, but I'm not sure. I tried making a simpler reproduction on the [playground](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=33581ec271cc2ee6ff28affdbb74757d) without using `typenum`, but I wasn't able to.

Clearly, `X` and `Y` are distinct types, as they are not assignable to each other, so why can't I define the same function in `impl`s for them?

[Playground](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=0380ca8bffb2e2d6b097f1d53bbfc1eb)
Repository: pytorch
Issue: torch.save overwrite
Labels: module: docs,triaged,enhancement

## 🚀 Feature
<!-- A clear and concise description of the feature proposal -->
Add an overwrite feature to torch.save (default: True) or throw a warning that a file will not overwrite an already existing file.

## Motivation
The current [workaround](https://discuss.pytorch.org/t/how-to-save-a-model-from-a-previous-epoch/20252/4) is to save a new model at each epoch. This is helpful in many applications, but saving a single model file when you know overfitting will not be an issue (e.g. when reimplementing a paper) would save a lot of memory when training large models as well as remove the need for a workaround using os / shutil functions. The default in all other applications I have seen is to overwrite the file.

cc @brianjo @mruberry @ezyang @gchanan @zou3519
Repository: flutter
Issue: Cupertino Time picker hour plural label should fade in and out
Labels: framework,f: date/time picker,a: fidelity,f: cupertino,c: proposal,good first issue,P2,team-design,triaged-design

Right now on the plural 's' pops in and out when you scroll past 1 when selecting hours with the Cupertino time picker. It should instead fade to 'hour' or to 'hours' after drag up when scrolling the hour dial.
Repository: go
Issue: proposal: add x/tools/cmd/mapper
Labels: Proposal,Proposal-Hold

I can offer the tool `mapper` as a sort of sibling to `stringer`. It is part of my [`maps`](https://github.com/drgrib/maps) repo and can be installed using

``` bash
go get -u github.com/drgrib/maps/cmd/mapper
```

And used with

``` bash
mapper -types string:CustomType
```

To generate the file `map_string_customtype.go` that infers its `package` from surrounding `.go` files or the current folder name if no other files are found:

``` go
package maps

func ContainsKeyStringCustomType(m map[string]CustomType, k string) bool {
	_, ok := m[k]
	return ok
}

func ContainsValueStringCustomType(m map[string]CustomType, v CustomType) bool {
	for _, mValue := range m {
		if mValue == v {
			return true
		}
	}

	return false
}

func GetKeysStringCustomType(m map[string]CustomType) []string {
	keys := []string{}

	for k, _ := range m {
		keys = append(keys, k)
	}

	return keys
}

func GetValuesStringCustomType(m map[string]CustomType) []CustomType {
	values := []CustomType{}

	for _, v := range m {
		values = append(values, v)
	}

	return values
}

func CopyStringCustomType(m map[string]CustomType) map[string]CustomType {
	copyMap := map[string]CustomType{}

	for k, v := range m {
		copyMap[k] = v
	}

	return copyMap
}
```

I've never contributed to the `go` code base so I'm not sure how this all works but am happy to make this code part of the core project, which may be useful until we get generics in Go 2.0.
Repository: flutter
Issue: Add mechanism in RenderSliver to check pointer status.
Labels: c: new feature,framework,f: scrolling,P2,team-framework,triaged-framework

I'm trying to create a custom refresh indicator similar to `CupertinoRefreshControl` but that doesn't trigger the refresh action until the user has released the drag. To do this I need to know when the user has released the drag and then determine if they dragged enough to trigger it.

It'd be a lot nicer to be able to implement this with a custom `RenderSliver` rather than have to make a custom `CustomScrollView`.
Repository: TypeScript
Issue: 3.3.1 regression in type inference
Labels: Bug

<!-- 🚨 STOP 🚨 𝗦𝗧𝗢𝗣 🚨 𝑺𝑻𝑶𝑷 🚨

Half of all issues filed here are duplicates, answered in the FAQ, or not appropriate for the bug tracker. Even if you think you've found a *bug*, please read the FAQ first, especially the Common "Bugs" That Aren't Bugs section!

Please help us by doing the following steps before logging an issue:
  * Search: https://github.com/Microsoft/TypeScript/search?type=Issues
  * Read the FAQ: https://github.com/Microsoft/TypeScript/wiki/FAQ

Please fill in the *entire* template below.
-->

<!-- Please try to reproduce the issue with `typescript@next`. It may have already been fixed. -->
**TypeScript Version:**  3.3.1 & 3.4.0-dev.20190202

<!-- Search terms you tried before logging this (so others can find this issue more easily) -->
**Search Terms:**

**Code**

```ts
class Foo {
    foo: number = 0;
}

class FooBar extends Foo {
    bar: number = 10;
}

async function foo(f: Foo | number) {
    if (f instanceof FooBar) {
        try {
            f = await (async (): Promise<Foo | number> => {
                throw new Error();
            })();
        }
        catch (ex) {
            console.log(f.bar); // 3.3.1 has an error on this line -- "Property 'bar' does not exist on type 'number | Foo'. Property 'bar' does not exist on type 'number'"
        }
    }
}

foo(new FooBar());
```

**Expected behavior:**

No error as was in TypeScript 3.2.4

**Actual behavior:**

Error `Property 'bar' does not exist on type 'number | Foo'. Property 'bar' does not exist on type 'number'`

**Playground Link:** <!-- A link to a TypeScript Playground "Share" link which demonstrates this behavior -->
http://www.typescriptlang.org/play/index.html#src=class%20Foo%20%7B%0D%0A%20%20%20%20foo%3A%20number%20%3D%200%3B%0D%0A%7D%0D%0A%0D%0Aclass%20FooBar%20extends%20Foo%20%7B%0D%0A%20%20%20%20bar%3A%20number%20%3D%2010%3B%0D%0A%7D%0D%0A%0D%0Aasync%20function%20foo(f%3A%20Foo%20%7C%20number)%20%7B%0D%0A%20%20%20%20if%20(f%20instanceof%20FooBar)%20%7B%0D%0A%20%20%20%20%20%20%20%20try%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20f%20%3D%20await%20(async%20()%3A%20Promise%3CFoo%20%7C%20number%3E%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20throw%20new%20Error()%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)()%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20catch%20(ex)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log(f.bar)%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%7D%0D%0A%0D%0Afoo(new%20FooBar())%3B

**Related Issues:** <!-- Did you find other bugs that looked similar? -->
Repository: godot
Issue: DynamicFontData can't store antialias or hinting property value unless it's saved to a `.tres`/`.res` file (fixed in `master`)
Labels: enhancement,confirmed,documentation,topic:gui


Godot v3.1 Beta 3

Windows 10.
GeForce GTX 550 

Can't switch off Anti-Aliasing of some Dynamic Fonts (.ttf) in game, only Editor.
I would expect to be able to turn off the Anti-Aliasing for low res retro games. I would expect the game to mimic the Editor settings. Some fonts work, some don't. Size of font doesn't seem to make a difference. I've included an example project.


Set Anti-Aliasing to 'off' in the editor after adding a Dynamic Font.


[Anti-Aliasing Dynamic Font Bug.zip](https://github.com/godotengine/godot/files/2830863/Anti-Aliasing.Dynamic.Font.Bug.zip)
Repository: flutter
Issue: Cursor should snap back into another inside the viewport when scrolling a text field
Labels: a: text input,platform-android,framework,f: material design,f: scrolling,has reproducible steps,P2,found in release: 3.3,found in release: 3.6,team-framework,triaged-framework,fyi-text-input

Take a TextField and put the cursor somewhere. 

Scroll the whole textfield putting the cursor outside the viewport. The cursor should change its position to another place in the text that's currently in the viewport to match native Android behavior.
Repository: go
Issue: cmd/go: warn when `go get` removes a module that provides a package in the import graph?
Labels: NeedsInvestigation,modules

### What version of Go are you using (`go version`)?

<pre>
go version go1.11.4 darwin/amd64
</pre>

### Does this issue reproduce with the latest release?

yes it does

### What operating system and processor architecture are you using (`go env`)?

<details><summary><code>go env</code> Output</summary><br><pre>
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/U/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/U/Work/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/U/Work/TestProj/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/rm/sngdtnn11x3b_zp_zzyw6jl40000gn/T/go-build528112071=/tmp/go-build -gno-record-gcc-switches -fno-common"
</pre></details>

### What did you do?

```
$go get github.com/miekg/dns/idn@cdb76b64a347436f019bf96ab5eb2d74e73e964b
go: finding github.com/miekg/dns/idn cdb76b64a347436f019bf96ab5eb2d74e73e964b
$grep dns go.mod
 github.com/miekg/dns v0.0.0-20171124081448-cdb76b64a347
$go mod vendor
go: finding github.com/miekg/dns/idn latest
$grep dns go.mod
 github.com/miekg/dns v1.1.1
```


### What did you expect to see?

github.com/miekg/dns v0.0.0-20171124081448-cdb76b64a347 vendored

### What did you see instead?

github.com/miekg/dns v1.1.1 vendored
Repository: flutter
Issue: Google Map's camera is not positioned correctly at initialization.
Labels: customer: crowd,p: maps,package,team-ecosystem,P2,triaged-ecosystem

This is a follow-up ticket for https://github.com/flutter/flutter/issues/24806.

The original issue is fixed by a temporary workaround https://github.com/flutter/plugins/pull/1157. 
We suspect the bug is in the iOS Google Maps SDK. We will use this ticket to track the status of the Goole Maps SDK fix; and once it is fixed, we can remove the temporary workaround.
Repository: flutter
Issue: Bring FlutterDriver to feature parity with WidgetController
Labels: a: tests,c: new feature,framework,t: flutter driver,P2,team-framework,triaged-framework

Does it make sense for FlutterDriver to be a subclass of WidgetController?

Or at least, can the FlutterDriver offer a wider range of APIs, closer to what the WidgetController does? It misses methods like drag, fling, and longPress, that would come in handy in integration testing as well.
Repository: flutter
Issue: [webview_flutter] cannot follow `tg://` links on iOS
Labels: p: webview,package,has reproducible steps,P3,found in release: 3.10,found in release: 3.11,team-ios,triaged-ios

Cannot follow `tg://` links on iOS to Telegram client. For some reason, Discord links do work, however. I have not tested this on Android.

```
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v1.2.0, on Mac OS X 10.13.6 17G4015, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
[✓] Android Studio (version 3.1)
[✓] VS Code (version 1.30.2)
[✓] Connected device (1 available)

• No issues found!

```
Repository: TypeScript
Issue: type callbacks
Labels: Suggestion,Needs Proposal

search: https://www.google.com/search?q=type+functions+site%3Ahttps%3A%2F%2Fgithub.com%2FMicrosoft%2FTypeScript


The more I work with advance types the more apparent the following problems become:
<strike>
##  No intermediate types
At the current stage the advanced types are represented via expressions. Quite often there is a need to reuse exactly the same part of such expression in more than one place. Currently there is no way to capture a part of it and reuse it, consider:
```ts
type A<X> = { x: B<X>, y: B<X> }
```
here I wish I could save `B<X>` into a local type `C` somehow to be able to write
```ts
// speculative syntax:
type A<X> = <
    type C = B<X>;
    { x: C, y: C };
>;
```
</strike>

per @RyanCavanaugh intermediate types are covered by https://github.com/Microsoft/TypeScript/issues/23188

## No way to specify a type callback
Currently type parameters are the only way to define a parametric type. There is no way to define a type based on a type callback:
```ts
interface Z { x: string; y: number; }
// speculative syntax:
type A<T, F: X =>...,  T> =  { [P in keyof T]: F<T[P]>; } // <-- wish could do this
type B = A<Z, X => X extends string ? true : false>;  // { x: true; y: false; }
type C = A<Z, X => { get: () => X }>;  // { x: { get: () => string; }; y: { get: () => number; }; }
```

I am not sure what a proposal would be, but these problems are definitely worth a discussion
Repository: TypeScript
Issue: Set context of this keyword in definition file
Labels: Suggestion,Awaiting More Feedback

## Search Terms

set `this` context in typescript definition file

## Suggestion

A way to change the context of `this` keyword in a type definition file. This is admittedly a weird feature since, to my knowledge, it doesn't really align with how modules work. Perhaps there is another way to achieve this use case.

## Use Cases

Here's a video of how my application works - https://vimeo.com/315553984

I have an application that allows users to write code which will then be executed via the `Function` API - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function
Here's a simplified version of how the app works at its core -

```
const userCode = `
  console.log(this, foo, bar);
`;
const func = Function('foo', 'bar', userCode);
func.call({myThis: 'hello'}, 'fooString', 'barString');
```

My app allows users to write their code in Monaco editor and I've successfully added type definitions for the `foo` and `bar` variables via the `addExtraLib` method - https://microsoft.github.io/monaco-editor/api/interfaces/monaco.languages.typescript.languageservicedefaults.html

So when the user starts to type `foo` intellisense informs them that it is a string. I'd like to do the same for the `this` keyword.

## Examples

See use cases ^

## Checklist

My suggestion meets these guidelines:

* [x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
* [x] This wouldn't change the runtime behavior of existing JavaScript code
* [x] This could be implemented without emitting different JS based on the types of the expressions
* [x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
* [x] This feature would agree with the rest of [TypeScript's Design Goals](https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals).