Skip to content

Duplicate field initializers: compile error expected but doesn't occur #921

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
DartBot opened this issue Dec 20, 2011 · 5 comments
Closed
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.

Comments

@DartBot
Copy link

DartBot commented Dec 20, 2011

This issue was originally filed by rodion...@unipro.ru


Ran this on our latest VM build, no compile error.

Spec ch. 7.5.1 says: Let k be a generative constructor. [...] It is a compile-time error if more than one initializer corresponding to a given instance variable appears in k's initializer list.

However, in the following example:
class C {
  C() : x = 1, y = 2, this.x = 3;
  var x;
  var y;
}
main() {
  try {
    C c = new C();
    print(c.x);
  } catch(var x) {}
}

no compile-time error occurs and both initializers are executed, which is evident after print().

other constructor variations:
C() : x = 1, y = 2, x = 3;
C(x, y) : this.x = x, this.x = y;
demonstrate the same behaviour

@DartBot
Copy link
Author

DartBot commented Dec 20, 2011

This comment was originally written by rodion...@unipro.ru


Same for the next assertion:
It is a compile-time error if k's initializer list contains an initializer for a variable that is initialized by means of an initializing formal of k.

No compile-time error for constructors like
C(this.x, foo) : this.x = foo;
or C(this.x, foo) : x = foo;

@ghost
Copy link

ghost commented Dec 20, 2011

Set owner to @mhausner.
Added Area-VM, Triaged labels.

@iposva-google
Copy link
Contributor

Added Accepted label.

@DartBot
Copy link
Author

DartBot commented Aug 1, 2012

This comment was originally written by @mhausner


I have a review out to fix this.


Added Started label.

@DartBot
Copy link
Author

DartBot commented Aug 1, 2012

This comment was originally written by @mhausner


Fixed at r10146


Added Fixed label.

@DartBot DartBot added Type-Defect area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. labels Aug 1, 2012
copybara-service bot pushed a commit that referenced this issue May 12, 2023
…er, mime, mockito, native, path, test, watcher, webdev, yaml_edit

Revisions updated by `dart tools/rev_sdk_deps.dart`.

browser_launcher (https://github.com/dart-lang/browser_launcher/compare/ed11524..551e101):
  551e101  2023-05-11  dependabot[bot]  Bump actions/checkout from 3.5.0 to 3.5.2 (#43)
  29a57a0  2023-05-11  Elliott Brooks  Disable test (#44)

file (https://github.com/google/file.dart/compare/b905180..e90e5ed):
  e90e5ed  2023-05-11  Bernardo Ferrari  Migrate to Dart 3 (#210)

http (https://github.com/dart-lang/http/compare/db84d12..981b63b):
  981b63b  2023-05-11  Brian Quinlan  Support the NSURLSession WebSocket API (#921)

leak_tracker (https://github.com/dart-lang/leak_tracker/compare/46a1fa0..bc7f604):
  bc7f604  2023-05-11  Polina Cherkasova  Fix typo. (#61)

logging (https://github.com/dart-lang/logging/compare/4779d7e..b75cba7):
  b75cba7  2023-05-10  Devon Carew  blast_repo fixes (#137)

matcher (https://github.com/dart-lang/matcher/compare/5890f2b..4dfd9ad):
  4dfd9ad  2023-05-10  dependabot[bot]  Bump actions/checkout from 3.5.0 to 3.5.2 (#218)

mime (https://github.com/dart-lang/mime/compare/57fbf6e..eb9d54b):
  eb9d54b  2023-05-10  Devon Carew  blast_repo fixes (#95)

mockito (https://github.com/dart-lang/mockito/compare/56173fa..51a7728):
  51a7728  2023-05-12  Copybara-Service  Merge pull request #597 from danielgomezrico:feat/returnInOrder
  7a93b61  2023-01-15  Daniel Gomez Rico  Add `returnInOrder` to `Mock`
  34da8da  2023-05-02  Nate Bosch  Import `packge:matcher` directly instead of `test_api`

native (https://github.com/dart-lang/native/compare/908e61f..64aa5b5):
  64aa5b5  2023-05-12  Daco Harkes  [native_assets_cli] Add `outDirName` (#38)
  fdcd0eb  2023-05-09  Devon Carew  contribute a PR labeler (#37)
  d44eae5  2023-05-08  Daco Harkes  Give tests on MacOS more time (#36)
  3b39e07  2023-05-04  Daco Harkes  [c_compiler] Make `logger` required (#35)

path (https://github.com/dart-lang/path/compare/1552cfd..f8d15c2):
  f8d15c2  2023-05-10  Devon Carew  blast_repo fixes (#144)

test (https://github.com/dart-lang/test/compare/0b306dd..931410c):
  931410c8  2023-05-10  Nate Bosch  Fix CI (#2014)

watcher (https://github.com/dart-lang/watcher/compare/9430592..1584936):
  1584936  2023-05-12  Brian Quinlan  Update to 1.1.0 in preparation for release. (#145)

webdev (https://github.com/dart-lang/webdev/compare/469b105..60616ba):
  60616bac  2023-05-10  Elliott Brooks  Syntax error in DCM workflow file(#2108)

yaml_edit (https://github.com/dart-lang/yaml_edit/compare/763ca94..87dcf31):
  87dcf31  2023-05-10  Devon Carew  blast_repo fixes (#53)

Change-Id: I4d25e4ccb60a86a6b5f8a66cfc6ae09f6df0a954
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/303005
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Devon Carew <devoncarew@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
copybara-service bot pushed a commit that referenced this issue May 17, 2023
…est_process, tools, webdev

Revisions updated by `dart tools/rev_sdk_deps.dart`.

convert (https://github.com/dart-lang/convert/compare/b652c00..9a387f0):
  9a387f0  2023-05-16  Devon Carew  blast_repo fixes (#83)

dartdoc (https://github.com/dart-lang/dartdoc/compare/2952f6b..702f3ff):
  702f3ff7  2023-05-16  Devon Carew  Update dependabot.yaml (#3415)

http (https://github.com/dart-lang/http/compare/981b63b..fb3b4be):
  fb3b4be  2023-05-16  Brian Quinlan  Revert "Support the NSURLSession WebSocket API (#921)" (#931)

mockito (https://github.com/dart-lang/mockito/compare/51a7728..3fadd2d):
  3fadd2d  2023-05-17  Ilya Yanok  Let users provide dummy values for types
  b14d571  2023-05-15  Googler  Fix for InvalidType

native (https://github.com/dart-lang/native/compare/e01aa63..3d89166):
  3d89166  2023-05-16  Daco Harkes  Add iOS x64 back (#41)

protobuf (https://github.com/dart-lang/protobuf/compare/05058a7..038872b):
  038872b  2023-05-16  Oleh Prypin  Remove implementation of `hashCode` because it makes enum values non-const in Dart 3 (#831)

test (https://github.com/dart-lang/test/compare/8e444df..cdedf40):
  cdedf40c  2023-05-16  Nate Bosch  Prepare to publish (#2016)

test_process (https://github.com/dart-lang/test_process/compare/b6a6cd5..d7a1711):
  d7a1711  2023-05-16  Nate Bosch  Prepare to publish (#44)

tools (https://github.com/dart-lang/tools/compare/62c9604..49da4ca):
  49da4ca  2023-05-12  Polina Cherkasova  Add memory events. (#92)

webdev (https://github.com/dart-lang/webdev/compare/60616ba..2b2ae0e):
  2b2ae0e8  2023-05-15  Elliott Brooks  Try to fix dependabot PRs (#2112)
  d19dafe0  2023-05-15  Elliott Brooks  Manual update deps (#2113)
  c0eb1069  2023-05-15  Elliott Brooks  Disable tests using webdriver (#2115)
  a16bc9f2  2023-05-15  Elliott Brooks  Dart Debug Extension builder fix (#2117)

Change-Id: Icd714c5d54cd3aee999e4ae3cc3a97928dc1a821
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/304120
Commit-Queue: Devon Carew <devoncarew@google.com>
Auto-Submit: Devon Carew <devoncarew@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
This issue was closed.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
Projects
None yet
Development

No branches or pull requests

2 participants