Skip to content
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

Closed
DartBot opened this issue Oct 23, 2011 · 10 comments
Closed

Crash: infinite recursion to cycle bounds #211

DartBot opened this issue Oct 23, 2011 · 10 comments
Labels
P1 A high priority bug; for example, a single project is unusable or has many test failures

Comments

@DartBot
Copy link

DartBot commented Oct 23, 2011

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)
        ...

@DartBot
Copy link
Author

DartBot commented Oct 24, 2011

This comment was originally written by ki...@gmail.com


other case:


class A<T> {}
class C<T1 extends T2, T2 extends T1> extends A<T1> {}
main() {}


@DartBot
Copy link
Author

DartBot commented Oct 25, 2011

This comment was originally written by drfibonacci@google.com


Added Area-Compiler, Triaged labels.

@DartBot
Copy link
Author

DartBot commented Oct 26, 2011

This comment was originally written by mmendez@google.com


Set owner to mmendez@google.com.

@DartBot
Copy link
Author

DartBot commented Oct 27, 2011

This comment was originally written by mmendez@google.com


Added Started label.

@DartBot
Copy link
Author

DartBot commented Oct 31, 2011

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.

@gbracha
Copy link
Contributor

gbracha commented Oct 31, 2011

Yes, this is missing and should be a static type warning.

@DartBot
Copy link
Author

DartBot commented Nov 7, 2011

This comment was originally written by mmendez@google.com


Removed Priority-Medium label.
Added Priority-High label.

@DartBot
Copy link
Author

DartBot commented Jan 9, 2012

This comment was originally written by zundel@google.com


Set owner to zundel@google.com.

@DartBot
Copy link
Author

DartBot commented Jan 11, 2012

This comment was originally written by zundel@google.com


http://codereview.chromium.org/9186017/

@DartBot
Copy link
Author

DartBot commented Jan 31, 2012

This comment was originally written by zundel@google.com


r3751


Added Fixed label.

@DartBot DartBot added Type-Defect P1 A high priority bug; for example, a single project is unusable or has many test failures labels Jan 31, 2012
nex3 pushed a commit that referenced this issue Aug 31, 2016
Fix dart.equals("10", 10) (issue #210)
copybara-service bot pushed a commit that referenced this issue Dec 11, 2023
…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>
copybara-service bot pushed a commit that referenced this issue Jan 2, 2024
…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 closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 A high priority bug; for example, a single project is unusable or has many test failures
Projects
None yet
Development

No branches or pull requests

2 participants