microsoft / microsoft/TypeScript

Cannot mix both fixed and rest arguments using '.call' when using '--strictBindCallApply'

Offen
#37,834 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Needs Investigation
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.4k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

TypeScript Version: 3.9.0-dev.20200328

Search Terms: strict call rest arguments

Code

class C {
    use<A extends any[]>(fn: (this: this, obj: this, ...args: A) => void, ...args: A) {
        fn.bind(this, this)(...args); // ok
        fn.bind(this)(this, ...args); // error
        fn.call(this, this, ...args); // error
    }
}

Expected behavior:

The 2nd and 3rd cases above should be ok

Actual behavior:

The 2nd and 3rd cases above report errors.

Playground Link: Playground

Related Issues:

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der TypeScript-Reproduktion im Issue-Text und führe sie mit aktiviertem --strictBindCallApply aus; konzentriere dich auf die bind- und call-Fälle, die feste und Rest-Argumente kombinieren. Die Arbeit ist abgeschlossen, wenn diese Fälle ohne Fehler typgeprüft werden und dabei das bestehende Verhalten des ersten bind-Aufrufs erhalten bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.