No error on toplevel return in JS

Turns out it's only an error in modules.
It's possible to keep this error on the list of "OK for JS" errors and
make the checker code stop issuing it for JS scripts only. However, I
don't think the error is valuable enough to do that.

Fixes #48224
This commit is contained in:
Nathan Shively-Sanders
2022-04-28 08:50:25 -07:00
parent 61c3bfe484
commit f6a55ebed0
6 changed files with 1 additions and 16 deletions

View File

@@ -913,7 +913,6 @@ namespace ts {
Diagnostics.A_rest_parameter_cannot_have_an_initializer.code,
Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list.code,
Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma.code,
Diagnostics.A_return_statement_can_only_be_used_within_a_function_body.code,
Diagnostics.A_return_statement_cannot_be_used_inside_a_class_static_block.code,
Diagnostics.A_set_accessor_cannot_have_rest_parameter.code,
Diagnostics.A_set_accessor_must_have_exactly_one_parameter.code,

View File

@@ -100,10 +100,9 @@ tests/cases/conformance/salsa/plainJSGrammarErrors.js(202,22): error TS17012: 't
tests/cases/conformance/salsa/plainJSGrammarErrors.js(203,30): message TS1450: Dynamic imports can only accept a module specifier and an optional assertion as arguments
tests/cases/conformance/salsa/plainJSGrammarErrors.js(204,30): message TS1450: Dynamic imports can only accept a module specifier and an optional assertion as arguments
tests/cases/conformance/salsa/plainJSGrammarErrors.js(205,36): error TS1325: Argument of dynamic import cannot be spread element.
tests/cases/conformance/salsa/plainJSGrammarErrors.js(207,1): error TS1108: A 'return' statement can only be used within a function body.
==== tests/cases/conformance/salsa/plainJSGrammarErrors.js (103 errors) ====
==== tests/cases/conformance/salsa/plainJSGrammarErrors.js (102 errors) ====
class C {
// #private mistakes
q = #unbound
@@ -513,8 +512,4 @@ tests/cases/conformance/salsa/plainJSGrammarErrors.js(207,1): error TS1108: A 'r
const spreadDynamicImport = import(...[])
~~~~~
!!! error TS1325: Argument of dynamic import cannot be spread element.
return
~~~~~~
!!! error TS1108: A 'return' statement can only be used within a function body.

View File

@@ -204,8 +204,6 @@ function foo() { new.targe }
const nullaryDynamicImport = import()
const trinaryDynamicImport = import('1', '2', '3')
const spreadDynamicImport = import(...[])
return
//// [plainJSGrammarErrors.js]
@@ -407,4 +405,3 @@ function foo() { new.targe; }
const nullaryDynamicImport = import();
const trinaryDynamicImport = import('1', '2', '3');
const spreadDynamicImport = import(...[]);
return;

View File

@@ -465,5 +465,3 @@ const trinaryDynamicImport = import('1', '2', '3')
const spreadDynamicImport = import(...[])
>spreadDynamicImport : Symbol(spreadDynamicImport, Decl(plainJSGrammarErrors.js, 204, 5))
return

View File

@@ -624,5 +624,3 @@ const spreadDynamicImport = import(...[])
>...[] : undefined
>[] : undefined[]
return

View File

@@ -208,5 +208,3 @@ function foo() { new.targe }
const nullaryDynamicImport = import()
const trinaryDynamicImport = import('1', '2', '3')
const spreadDynamicImport = import(...[])
return