Closed
Description
There are new test failures on Add record-related wait
extensions on Future
tuples..
The tests
lib/async/future_record_extension_test RuntimeError (expected Pass)
are failing on configurations
dart2js-hostasserts-linux-chrome-unsound
The error message is
Type '(JSInt, JSBool)' is not a subtype of type 'FutureOr<(int, bool)>?'
which suggests an error related to record types, internal types and FutureOr
.
Possibly related to: #51731
The full error report is:
/========================================================================================\
| lib/async/future_record_extension_test is new and failed (RuntimeError, expected Pass) |
\========================================================================================/
--- Command "dart2js" (took 07.000290s):
DART_CONFIGURATION=ReleaseX64 sdk/bin/dart2js_developer -Dtest_runner.configuration=dart2js-hostasserts-linux-d8 --sound-null-safety --test-mode --packages=/b/s/w/ir/.dart_tool/package_config.json /b/s/w/ir/tests/lib/async/future_record_extension_test.dart --sound-null-safety --out=/b/s/w/ir/out/ReleaseX64/generated_compilations/dart2js-hostasserts-linux-d8/tests_lib_async_future_record_extension_test/future_record_extension_test.js
exit code:
0
stdout:
Hint: When run on the command-line, the compiled output might require a preamble file located in:
<sdk>/lib/_internal/js_runtime/lib/preambles.
Compiled 9,775,330 characters Dart to 243,576 characters JavaScript in 7.22 seconds using 486.145 MB of memory
Dart file tests/lib/async/future_record_extension_test.dart compiled to JavaScript: out/ReleaseX64/generated_compilations/dart2js-hostasserts-linux-d8/tests_lib_async_future_record_extension_test/future_record_extension_test.js
--- Command "d8" (took 74ms):
DART_CONFIGURATION=ReleaseX64 /b/s/w/ir/third_party/d8/linux/d8 /b/s/w/ir/sdk/lib/_internal/js_runtime/lib/preambles/d8.js /b/s/w/ir/out/ReleaseX64/generated_compilations/dart2js-hostasserts-linux-d8/tests_lib_async_future_record_extension_test/future_record_extension_test.js
exit code:
1
stdout:
unittest-suite-wait-for-done
/b/s/w/ir/sdk/lib/_internal/js_runtime/lib/preambles/d8.js:263: TypeError: Record (2, true): type '(JSInt, JSBool)' is not a subtype of type 'FutureOr<(int, bool)>?'
throw e;
^
TypeError: Record (2, true): type '(JSInt, JSBool)' is not a subtype of type 'FutureOr<(int, bool)>?'
at Object.wrapException (/b/s/w/ir/out/ReleaseX64/generated_compilations/dart2js-hostasserts-linux-d8/tests_lib_async_future_record_extension_test/future_record_extension_test.js:329:17)
at Object._failedAsCheck (/b/s/w/ir/out/ReleaseX64/generated_compilations/dart2js-hostasserts-linux-d8/tests_lib_async_future_record_extension_test/future_record_extension_test.js:1269:15)
at Rti._generalNullableAsCheckImplementation [as _as] (/b/s/w/ir/out/ReleaseX64/generated_compilations/dart2js-hostasserts-linux-d8/tests_lib_async_future_record_extension_test/future_record_extension_test.js:1266:9)
at Rti._installSpecializedAsCheck (/b/s/w/ir/out/ReleaseX64/generated_compilations/dart2js-hostasserts-linux-d8/tests_lib_async_future_record_extension_test/future_record_extension_test.js:1194:22)
at _SyncCompleter.complete$1 (/b/s/w/ir/out/ReleaseX64/generated_compilations/dart2js-hostasserts-linux-d8/tests_lib_async_future_record_extension_test/future_record_extension_test.js:5171:25)
at FutureRecord2_get_wait_closure.call$1 (/b/s/w/ir/out/ReleaseX64/generated_compilations/dart2js-hostasserts-linux-d8/tests_lib_async_future_record_extension_test/future_record_extension_test.js:4993:12)
at _FutureResult__waitAll_onReady.call$1 (/b/s/w/ir/out/ReleaseX64/generated_compilations/dart2js-hostasserts-linux-d8/tests_lib_async_future_record_extension_test/future_record_extension_test.js:5150:24)
at _FutureResult._onValue$1 (/b/s/w/ir/out/ReleaseX64/generated_compilations/dart2js-hostasserts-linux-d8/tests_lib_async_future_record_extension_test/future_record_extension_test.js:5132:20)
at tear_off.<anonymous> (/b/s/w/ir/out/ReleaseX64/generated_compilations/dart2js-hostasserts-linux-d8/tests_lib_async_future_record_extension_test/future_record_extension_test.js:622:45)
at _RootZone.runUnary$2$2 (/b/s/w/ir/out/ReleaseX64/generated_compilations/dart2js-hostasserts-linux-d8/tests_lib_async_future_record_extension_test/future_record_extension_test.js:5567:18)
Deobfuscated error and stack:
TypeError: Record (2, true): type '(JSInt, JSBool)' is not a subtype of type 'FutureOr<(int, bool)>?'
at wrapException org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart 1194:37
at _failedAsCheck org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart 1164:3
at _generalNullableAsCheckImplementation org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart 1159:3
at _installSpecializedAsCheck org-dartlang-sdk:///lib/_internal/js_shared/lib/rti.dart 1052:3
at _SyncCompleter.complete org-dartlang-sdk:///lib/async/future_impl.dart 47:22
at FutureRecord2|get#wait.<anonymous> org-dartlang-sdk:///lib/async/future_extensions.dart 79:9
at _FutureResult._waitAll.onReady org-dartlang-sdk:///lib/async/future_extensions.dart 527:9
at _FutureResult._onValue org-dartlang-sdk:///lib/async/future_extensions.dart 508:12
at Closure.fromTearOff org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart 2181:9
at _RootZone.runUnary org-dartlang-sdk:///lib/async/zone.dart 1661:46