Element implicitly has an 'any' type because expression of type 'string' can't be used to index type
@weswigham ya está trabajando en esto.
Desde el 2/6/2021.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Bug Report
The following code used to work on 4.2.3, but does not build with 4.3.2, reporting the error on the last line
type ObjectFixedKeys<T extends object> = {
[K in keyof T]: string extends K ? never : K
} extends { [_ in keyof T]: infer U }
? U
: never
type DistributeKeysUnion<U> = U extends string
? { [K in U]: any }
: never
type ObjectDictionaryKeys<T extends object> = Exclude<
T,
DistributeKeysUnion<ObjectFixedKeys<T>>
>
type Condition = { $and: Array<Condition> }
| { $or: Array<Condition> }
| { [member: string]: string }
type O = ObjectFixedKeys<Condition>
type D = DistributeKeysUnion<ObjectFixedKeys<Condition>>
declare const s: string
type CT = ObjectDictionaryKeys<Condition>
declare const ct : CT
const h = ct[s]
Error:
Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'CT'.
No index signature with a parameter of type 'string' was found on type 'CT'.
🕗 Version & Regression Information
I tracked the regression to the version 4.3.0-dev.20210422
Probably related to https://github.com/microsoft/TypeScript/commit/8ea4ec94967c9db8542ca229dedd656fe9e051df
⏯ Playground Link
Playground link with relevant code
Note how the last line is evaluated to never, however if you select version 4.2.3 it gets evaluated to "foo" | "bar" as expected.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.4k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 117
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.
Más de microsoft/TypeScript
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
microsoft/TypeScript#64322 · 2 comentarios · 1 reacción · 2 asignados ·
-
Possible Improvement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
microsoft/TypeScript#64278 · 1 comentario · 1 reacción ·
-
Docs
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
microsoft/TypeScript#64118 · 1 comentario ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
microsoft/TypeScript#64094 ·
-
Docs
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
microsoft/TypeScript#63959 · 5 comentarios ·
Todos los issues de microsoft/TypeScript
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
milvus-io/birdwatcher#545 ·
-
kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
kubernetes-sigs/prow#953 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
caddyserver/caddy#8046 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
jaegertracing/jaeger#9588 ·