Unexpected "used before its declaration" error when implementing a exported type of a merged namespace

Abierto
#54,429 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
52/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
typescript
Área
compilers

Línea de trabajo

Comienza con el ejemplo de TypeScript proporcionado y el enlace al Playground; después, compara el diagnóstico del editor con el comportamiento del Playground para el namespace combinado y el tipo exportado. Sigue la ruta de comprobación de tipos que informa de los errores "used before its declaration" y "used before being assigned", y añade una prueba de regresión que demuestre que este código no produce ningún error.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Bug Domain: Binder Help Wanted Needs Human Review Needs More Info

Bug Report

🔎 Search Terms

used before its declaration vscode

🕗 Version & Regression Information
  • tested in 4.7.3, 5.0.4 and nightly
⏯ Playground Link

Playground link with relevant code

💻 Code
namespace Foo {
    export interface Bar { }
}

class X implements Foo.Bar {

}

const Foo = 1;
🙁 Actual behavior

In VSCode it reports:

namespace Foo
Block-scoped variable 'Foo' used before its declaration.ts(2448)
Untitled-1(9, 7): 'Foo' is declared here.
Variable 'Foo' is used before being assigned.ts(2454)

You may not see the error immediately if you paste the code into a new file. It will appear when you start typing something.

Note that the error cannot be reproduced in the playground.

🙂 Expected behavior

No error.

Lenguaje dominante
Go
Estrellas
111k
Forks
14.4k
Merge medio
1 d 19 h
PR fusionados (30 d)
117

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/TypeScript

Todos los issues de microsoft/TypeScript

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.