microsoft / microsoft/TypeScript
Incorrect type inference for Record with symbol key
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.3k
- Merge medio
- 2 d 4 h
- PR fusionados (30 d)
- 132
Descripción
TypeScript Version: Nightly
Search Terms: Record, Symbol, symbol as index
Code
export type SN = Record<symbol, number>
const s = Symbol()
const sn: SN = {}
const n = sn[s] // n is of type any instead of number
Expected behavior:
A Record with symbols as key should allow to access properties by symbol with correct type
Actual behavior:
All keys are any type.
Related Issues: #1863
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Reproduce el ejemplo del issue usando el TypeScript Nightly playground o la versión de TypeScript mostrada; después, sigue cómo el compilador gestiona el acceso indexado a Record<symbol, number>. Compara el tipo inferido de sn[s] con el number esperado y usa el issue relacionado #1863 como contexto. La tarea estará terminada cuando el acceso a un Record indexado por symbol se infiera como number en lugar de any y exista una prueba de regresión que cubra el ejemplo.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- compilers
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 45/100