microsoft / microsoft/TypeScript

Incorrect report of self-referencing type for static fields

Ouverte
#62,552 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Domain: check: Type Inference Help Wanted Possible Improvement
Langage dominant
Go
Étoiles
111k
Forks
14.3k
Merge moyen
2 j 4 h
PR mergées (30 j)
132

Description

### 🔎 Search Terms

TS7022
implicitly has type 'any'

### 🕗 Version & Regression Information

- The issue applies to all TypeScript 5 versions and TypeScript 6 nightly

### ⏯ Playground Link

https://www.typescriptlang.org/play/?ts=6.0.0-dev.20251006#code/GYVwdgxgLglg9mABDAJgHgCoD4AUAPALkQwEoiNEBvAKEUQCcBTKEepPagX2uogQGcoiAGJw4iALzIUOCABsAhv35VaiQQtgQGjBSgRyAnomBjJ0nABYATCUQB6e4gCi9enHrEAygHYADNbWXCQ8fGCCiADyANbm8koqNHQaWjp6Bsam4lKoVrYOTgBy4oxuHlzUQA

### 💻 Code

```ts
function id(x: T): T {
return x
}

const Foo = id(class {
static readonly foo = id(42) // Error TS7022
})

const Ok = class {
static readonly foo = id(42) // No error
}
```

### 🙁 Actual behavior

Type error TS7022 reported

### 🙂 Expected behavior

No type error

### Additional information about the issue

_No response_

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par le TypeScript Playground lié et reproduisez le diagnostic TS7022 avec les deux exemples de classes. Comparez le comportement du diagnostic entre le champ statique autoréférencé et la classe autonome équivalente, puis suivez le chemin d’inférence de types et de diagnostic du compilateur. Le travail est terminé lorsque l’exemple signalé ne produit plus TS7022, tandis que le comportement d’erreur pertinent reste intact.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
compilers
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.