microsoft / microsoft/TypeScript
Should disallow using the result of calling a void-returning function
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.3k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 117
Descripción
TypeScript Version: 4.1.0-dev.20201008
Search Terms: disallow function call void return usage warn error
Code
function doesntReturn() {
// no return statement
}
const foo: string = doesntReturn() + 'foo'; // should be an error
Expected behavior:
The expression doesntReturn() + 'foo' should be an error because it uses the value of a void-returning function call. As far as I can tell, there is literally no good reason to use the return value of a function with no return statements like this.
This is similar to the current behavior of disallowing void-returning expressions inside control flow (issue #26262). It is also similar to the reasoning behind the warning that occurs when using a function value (instead of calling it) in an if condition.
Actual behavior:
No error message is given.
Playground Link: here
Related Issues: #26262
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
Comienza con el ejemplo enlazado de Playground para reproducir el diagnóstico que falta y, después, lee el issue relacionado #26262 sobre el comportamiento comparable de control-flow. El trabajo estará terminado cuando la expresión que usa el resultado de una llamada a una función con retorno void informe de un error, mientras que el ejemplo existente siga comportándose como se espera.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- compilers
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 38/100