microsoft / microsoft/TypeScript
`export` modifier on `enum` disables `This condition will always return * ts2845`
- Langage dominant
- Go
- Étoiles
- 111k
- Forks
- 14.3k
- Merge moyen
- 2 j 4 h
- PR mergées (30 j)
- 132
Description
### 🔎 Search Terms
export enum ts2845
### 🕗 Version & Regression Information
5.4 doesn't flag it without the `export` modifier either.
### ⏯ Playground Link
https://www.typescriptlang.org/play/?target=99&module=0&ts=6.0.0-dev.20260416#code/KYDwDg9gTgLgBMAdgVwLZwIIBMCGYbBQDyyMYpAKgJ5jBwDeAUHJgAqsD6rGA4gKIAaZnG78AykIC+jRlmABjADY4odeREQBneDBrAAXJlz5CJMpT0z1W+AGsAloixwAvMN21XLl0bwFipOQw1LQAdBjsXLx8cAA+sb4mAebBeqGifGLCLAD0OSwFhUXFJaUUABb2mnDWWPYw9hpwAO72iopwOIrNOFTVqjDIUIhwAOQwUMjAo6EAFABMABwALACsAJTZcAD8Y4rAAGYwo1uGo1D2AOblxwDcQA
### 💻 Code
```ts
// remove `export` modifier
export enum AdapterOutputType {
APP_PAGE,
PAGES,
}
declare const type: AdapterOutputType
const kind =
type === AdapterOutputType.APP_PAGE || AdapterOutputType.PAGES
// ~ should be flagged with: This condition will always return 'true'.(2845)
? 'left'
: 'right';
```
### 🙁 Actual behavior
No typechecking error
### 🙂 Expected behavior
`ts2845` because the condition is always `true`.
### Additional information about the issue
_No response_
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par reproduire le cas TypeScript Playground lié, puis comparez le comportement des diagnostics avec et sans le modificateur `export` sur `AdapterOutputType`. Suivez le chemin de vérification des types pour la comparaison du membre d’énumération et vérifiez que la condition erronée reçoit TS2845 sans introduire de diagnostic pour le cas valide.
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é
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- Calme
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 56/100