-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash: infinite recursion to cycle bounds #211
Comments
This comment was originally written by ki...@gmail.com other case: class A<T> {} |
This comment was originally written by drfibonacci@google.com Added Area-Compiler, Triaged labels. |
This comment was originally written by mmendez@google.com Set owner to mmendez@google.com. |
This comment was originally written by mmendez@google.com Added Started label. |
This comment was originally written by mmendez@google.com class C<T extends T> extends A<T> {} and class C<T1 extends T2, T2 extends T1> extends A<T1> {} have cyclic upper bounds on the type parameters and should probably result in a type error. I don't recall seeing this restriction on the spec though although I may have missed it. cc @gbracha. |
Yes, this is missing and should be a static type warning. |
This comment was originally written by mmendez@google.com Removed Priority-Medium label. |
This comment was originally written by zundel@google.com Set owner to zundel@google.com. |
This comment was originally written by zundel@google.com |
This comment was originally written by zundel@google.com r3751 Added Fixed label. |
…h, protobuf, sync_http, test, tools, web, webdev Revisions updated by `dart tools/rev_sdk_deps.dart`. ecosystem (https://github.com/dart-lang/ecosystem/compare/79a1bc5..ce707fb): ce707fb 2023-12-06 Moritz Use Flutter in `health.yaml` (#206) fixnum (https://github.com/dart-lang/fixnum/compare/6b0888c..3e08c0d): 3e08c0d 2023-12-04 Kevin Moore drop outdated lints (#123) http_parser (https://github.com/dart-lang/http_parser/compare/1cf5b7c..224c1a9): 224c1a9 2023-12-04 Kevin Moore drop outdated lints (#82) leak_tracker (https://github.com/dart-lang/leak_tracker/compare/a618a55..8644f8b): 8644f8b 2023-12-11 Lucas.Xu chore: bump leak_tracking_flutter_testing version to 1.0.12-wip (#192) cac195d 2023-12-11 Binni Goel Fix. typos in leak_tracker (#189) 9fd7932 2023-12-11 Lucas.Xu fix: add missing on leak callback (#190) 1ab3140 2023-12-08 Lucas.Xu chore: refactor code style (#186) mockito (https://github.com/dart-lang/mockito/compare/fb8a2b5..57a7c82): 57a7c82 2023-12-06 Copybara-Service Merge pull request #721 from Sese-Schneider:master c5de658 2023-12-06 Sese Schneider Apply suggestions from code review 1a652b8 2023-11-21 Sebastian Schneider Use `posix` style for local imports path (https://github.com/dart-lang/path/compare/18ec71f..115ea2a): 115ea2a 2023-12-05 Devon Carew rev the version of lints used; prep for publishing (#155) protobuf (https://github.com/dart-lang/protobuf/compare/bb19774..20ec685): 20ec685 2023-12-05 Ömer Sinan Ağacan Small PbList improvements (#906) sync_http (https://github.com/dart-lang/sync_http/compare/d8e9f3d..f96db95): f96db95 2023-12-05 Kevin Moore Latest lints, require Dart 3.0, use mini-libraries (#42) test (https://github.com/dart-lang/test/compare/9fffb48..43ff5bf): 43ff5bf9 2023-12-11 Ömer Sinan Ağacan Fix Dart2Wasm spelling (#2155) 7d61eef9 2023-12-08 Derek Xu Update frontend_server_client constraint to allow version 4.0.0 (#2153) 001c5381 2023-12-07 Jacob MacDonald fix precompiled vm tests loaded from a package: uri (#2152) fb3b5725 2023-12-05 Nate Bosch Use package: URIs for imports when possible (#2148) 03cc56ec 2023-12-05 Jacob MacDonald mark flaky windows test as skipped (#2151) 6e7e4fa8 2023-12-05 Jacob MacDonald Add regression test for relative imports in tests under `lib` (#2147) 84c366a7 2023-12-05 Jacob MacDonald fix broken tests (#2149) e49ae54b 2023-12-05 Jacob MacDonald Promote dart2wasm compiler support to the stable browser platform. (#2144) tools (https://github.com/dart-lang/tools/compare/c63dcb5..ed81684): ed81684 2023-12-06 Elias Yishak Fix consent message formatting (#215) c4d515a 2023-12-05 Elias Yishak Enum + event added for `commandUsageValues` (#211) web (https://github.com/dart-lang/web/compare/865aeaf..acf0beb): acf0beb 2023-12-07 Devon Carew fixes to the return types of several Node helper extension methods (#121) 9d7b33e 2023-12-06 Srujan Gaddam Handle Dart SDK change to extension types (#116) 0ae45ec 2023-12-05 Devon Carew Update README.md (#117) 34b3618 2023-12-05 Devon Carew have web.dart export the helpers; deprecate helpers.dart (#115) webdev (https://github.com/dart-lang/webdev/compare/63e09e5..8375cd6): 8375cd66 2023-12-08 Elliott Brooks Add popup for copying the app ID (#2299) Change-Id: Ibf5f5eca74c56bf31d50bddabbe9da2a2e6fd716 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/341021 Commit-Queue: Devon Carew <devoncarew@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
…ystem, json_rpc_2 Revisions updated by `dart tools/rev_sdk_deps.dart`. benchmark_harness (https://github.com/dart-lang/benchmark_harness/compare/e59f675..a62e416): a62e416 2023-12-14 Kevin Moore Require Dart 3.2, pub dependencies, cleanup analysis_options (#97) cli_util (https://github.com/dart-lang/cli_util/compare/500dffa..e5b38ac): e5b38ac 2024-01-01 dependabot[bot] Bump actions/stale from 8.0.0 to 9.0.0 (#96) 91540ca 2023-12-20 Kevin Moore blast_repo fixes (#95) 1fd87c1 2023-12-15 Devon Carew require dart 3.0; rev to 0.4.1 in prep for publishing (#93) convert (https://github.com/dart-lang/convert/compare/3503170..f8a72d6): f8a72d6 2024-01-01 dependabot[bot] Bump actions/stale from 8.0.0 to 9.0.0 (#98) e6b0558 2023-12-18 Kevin Moore Enable and fix new lints (#97) 39e5ca6 2023-12-18 Kevin Moore blast_repo fixes (#96) crypto (https://github.com/dart-lang/crypto/compare/f3e64d2..63e9a90): 63e9a90 2024-01-01 dependabot[bot] Bump actions/stale from 8.0.0 to 9.0.0 (#160) f2c79ed 2023-12-19 Kevin Moore blast_repo fixes (#157) csslib (https://github.com/dart-lang/csslib/compare/17346e5..1ad2d1e): 1ad2d1e 2024-01-01 dependabot[bot] Bump actions/stale from 8.0.0 to 9.0.0 (#195) 1325d75 2023-12-18 Kevin Moore blast_repo fixes (#193) ecosystem (https://github.com/dart-lang/ecosystem/compare/ce707fb..dc44e82): dc44e82 2024-01-02 Moritz Get needed version from API tool in health check (#213) 55251b1 2024-01-02 Moritz De-async health checks (#208) 2587855 2024-01-01 dependabot[bot] Bump peter-evans/create-or-update-comment (#211) 0136c56 2024-01-01 dependabot[bot] Bump actions/upload-artifact from 3.1.3 to 4.0.0 (#210) 82f4b77 2024-01-01 dependabot[bot] Bump actions/stale from 8.0.0 to 9.0.0 (#212) 5e12e96 2024-01-01 dependabot[bot] Bump actions/labeler from 4.3.0 to 5.0.0 (#209) 5d594f4 2023-12-14 Kevin Moore Require/support latest pkg:http (#207) b8679da 2023-12-07 Devon Carew normalize sort order of package listing (#205) json_rpc_2 (https://github.com/dart-lang/json_rpc_2/compare/460545c..ac1fabd): ac1fabd 2024-01-01 dependabot[bot] Bump actions/stale from 8.0.0 to 9.0.0 (#108) Change-Id: I83fa7042ac1970ae792110093bdcf8c0ec779fda Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344260 Auto-Submit: Devon Carew <devoncarew@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
This issue was originally filed by kiris60...@gmail.com
What steps will reproduce the problem?
Dartc compile this code.
class A<T> {}
class C<T extends T> extends A<T> {}
main() {}
Compiled results:
java.lang.StackOverflowError
at com.google.dart.compiler.type.TypeVariableImplementation.getKind(TypeVariableImplementation.java:72)
at com.google.dart.compiler.type.Types.asInstanceOf(Types.java:249)
at com.google.dart.compiler.type.Types.asInstanceOf(Types.java:287)
at com.google.dart.compiler.type.Types.asInstanceOf(Types.java:287)
at com.google.dart.compiler.type.Types.asInstanceOf(Types.java:287)
at com.google.dart.compiler.type.Types.asInstanceOf(Types.java:287)
at com.google.dart.compiler.type.Types.asInstanceOf(Types.java:287)
at com.google.dart.compiler.type.Types.asInstanceOf(Types.java:287)
at com.google.dart.compiler.type.Types.asInstanceOf(Types.java:287)
at com.google.dart.compiler.type.Types.asInstanceOf(Types.java:287)
at com.google.dart.compiler.type.Types.asInstanceOf(Types.java:287)
...
The text was updated successfully, but these errors were encountered: