-
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
It should not be possible to implement an interface twice #976
Comments
This comment was originally written by @mhausner The language spec indeed does not allow this: It is a compile-time error if a type T appears more than once in the implements clause of a class. One might argue that it is harmless to repeat a type in this way, so why make it an error? The issue is not so much that the situation described in program source is erroneous, but that it is pointless. [...] How about this: interface I {} class A implements I { } ... Is it an error to have I in both A and B? With the above rationale, one could say it should be illegal. Set owner to @mhausner. |
Marked this as being blocked by #1031. |
This comment was originally written by @mhausner Removed the owner. |
This comment was originally written by ief...@unipro.ru I'm not sure that this bug was correctly fixed in VM. It is a compile-time error if a type T appears more than once in the implements clause of a class. (7.9. Superinterfaces) However, section 8.4 Superinterfaces does not prohibit duplicate types in the extends clause of an interface. So, the following test should pass: interface J {} interface I extends J, K, J, K {} main() {} |
Removed Area-Frog label. |
We need to figure out if this issue applies to dart2js. Removed FromAreaFrog label. |
Removed this from the Later milestone. |
Added this to the M2 milestone. |
Set owner to @karlklose. |
Added Fixed label. |
2021-01-24 irina.arkhipets@gmail.com Issue #983: Static warning checks corrected. 2021-01-22 irina.arkhipets@gmail.com Issue #983: triple-shift folders re-named correctly, typo in the library paths updated for 2 tests. 2021-01-21 sgrekhov@unipro.ru Fixes #985. LateInitializationError removed 2021-01-20 sgrekhov@unipro.ru Fixes #982. Add tests for The future value type of an asynchronous non-generator function part of NNBD spec 2021-01-19 irina.arkhipets@gmail.com Issue #462: NNBD type-normalization tests for weak mode added. 2021-01-19 irina.arkhipets@gmail.com Issue #462: NNBD type-aliases tests for weak mode added. 2021-01-19 irina.arkhipets@gmail.com Issue #462: NNBD tripple-shift tests for weak mode added. 2021-01-19 irina.arkhipets@gmail.com Issue #462: NNBD tests for weak mode added for the override checkings. 2021-01-19 irina.arkhipets@gmail.com Issue #462: NNBD tests for weak mode added (Leatest-greatest-closures). 2021-01-19 irina.arkhipets@gmail.com Issue #462: NNBD tests for weak mode added (Leatest-greatest-closures). 2021-01-18 sgrekhov@unipro.ru Fixes #981. Add tests for Return statements part of NNBD spec 2021-01-18 irina.arkhipets@gmail.com Issue #462: NNBD tests for weak mode corrected according to the current Spec changes. 2021-01-14 irina.arkhipets@gmail.com Issue #462: Additional comments regarding the constant evaluation issues added to weak mode tests. 2021-01-14 sgrekhov@unipro.ru Fixes #980. Remove warnings expectations for overriding default values of optional parameters tests 2021-01-13 irina.arkhipets@gmail.com Issue #462: Tests for weak mode added to nnbd/weak/flow-analysis directory. 2021-01-12 sgrekhov@unipro.ru #978. Weak mode test changes 2021-01-12 irina.arkhipets@gmail.com Issue #462: Tests for weak mode added to nnbd/weak directory. 2021-01-11 sgrekhov@unipro.ru Fixes #978. Tests updated according to the "flow analysis boolean variable" feature 2020-12-25 irina.arkhipets@gmail.com Issues #463: Tests for weak mode added. 2020-12-25 irina.arkhipets@gmail.com Issues #462, #463: Moved or added new nnbd tests for weak mode, added new tests for strong mode. 2020-12-24 sgrekhov@unipro.ru #970. Usr correct values for ProcessSignal.sigusr1 and ProcessSignal.sigusr2 on Mac 2020-12-24 irina.arkhipets@gmail.com Issue #462: 1. Added nnbd tests for weak mode: exports_*, expression_typing_*, extension_method_resolution_*, future_flattening_*. 2. Moved and re-factored nnbd extension_method_resolution_*, future_flattening_* tests for weak mode into weak folder. 3. Copyrights updated Issue #463: Two exports* tests for strong mode added. 2020-12-24 sgrekhov@unipro.ru Fixes #496. Change tested date to 1 second instead of 1 day to reduce probability to change timezone on DST 2020-12-23 sgrekhov@unipro.ru Fixes #473. Remove UtilsHtml directory 2020-12-23 irina.arkhipets@gmail.com Fix for Issue #462: 1. Added nnbd tests for weak mode: assignability_*, const_evaluation_*, const_objects_*, const_type_var_elimination_*. 2. Moved and re-factored nnbd exports_* tests for weak mode into weak folder. 2020-12-10 sgrekhov@unipro.ru Fixes #976. Remove obsolete errors expectations 2020-12-10 sgrekhov@unipro.ru Fixes #975. Fix wrong expected compile time error type 2020-12-07 sgrekhov@unipro.ru Flag Requirements=nnbd-weak added to the tests that run legacy code Cq-Include-Trybots: dart/try:analyzer-nnbd-linux-release-try,dart2js-nnbd-linux-x64-chrome-try,ddc-nnbd-linux-release-chrome-try,front-end-nnbd-linux-release-x64-try,vm-kernel-nnbd-linux-release-simarm64-try,vm-kernel-nnbd-linux-release-x64-try,vm-kernel-nnbd-mac-release-x64-try,vm-kernel-nnbd-win-release-x64-try,vm-kernel-precomp-nnbd-linux-release-x64-try Change-Id: I69acc5c0a28fd2e7a2d38f6c9062e5a5854bdfa6 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180823 Reviewed-by: William Hesse <whesse@google.com>
…ctor, browser_launcher, characters, cli_util, clock, collection, convert, crypto, csslib, dartdoc, ecosystem, ffi, fixnum, glob, html, http, http_multi_server, http_parser, json_rpc_2, leak_tracker, lints, logging, markdown, matcher, mime, mockito, native, package_config, path, pool, protobuf, pub_semver, shelf, source_map_stack_trace, source_maps, source_span, sse, stack_trace, stream_channel, string_scanner, term_glyph, test, test_descriptor, test_process, test_reflective_loader, tools, typed_data, usage, watcher, web_socket_channel, webdev, yaml Revisions updated by `dart tools/rev_sdk_deps.dart`. args (https://github.com/dart-lang/args/compare/a9543c0..da56b18): da56b18 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#249) async (https://github.com/dart-lang/async/compare/a506993..b65622a): b65622a 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#247) bazel_worker (https://github.com/dart-lang/bazel_worker/compare/f7b714e..c29d162): c29d162 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#77) benchmark_harness (https://github.com/dart-lang/benchmark_harness/compare/e717ad4..fde73cb): fde73cb 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#91) boolean_selector (https://github.com/dart-lang/boolean_selector/compare/3a1c982..303635d): 303635d 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#49) browser_launcher (https://github.com/dart-lang/browser_launcher/compare/40e4315..27ec600): 27ec600 2023-07-05 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#46) dd8df9c 2023-07-05 Devon Carew update formatting for recent lints (#47) characters (https://github.com/dart-lang/characters/compare/3ef8883..ec844db): ec844db 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#84) cli_util (https://github.com/dart-lang/cli_util/compare/5a49947..9b7ce78): 9b7ce78 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#84) clock (https://github.com/dart-lang/clock/compare/21caac1..263e508): 263e508 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#54) collection (https://github.com/dart-lang/collection/compare/a37bd51..db343da): db343da 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#295) convert (https://github.com/dart-lang/convert/compare/9a387f0..79ee174): 79ee174 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#84) crypto (https://github.com/dart-lang/crypto/compare/216931a..8b704c6): 8b704c6 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#150) csslib (https://github.com/dart-lang/csslib/compare/be2e11e..7e91228): 7e91228 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#187) dartdoc (https://github.com/dart-lang/dartdoc/compare/c2ed703..2522559): 25225596 2023-06-29 Sam Rawlins Migrate some simple tasks to a simple package:args command (#3456) ecosystem (https://github.com/dart-lang/ecosystem/compare/19fa443..b34db4f): b34db4f 2023-07-10 Moritz Allow empty coverage (#128) 5944328 2023-07-04 Moritz Prepare for publish (#127) c0701c9 2023-07-04 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#122) 9bf3a10 2023-07-03 Moritz Fix bug by switching `reduce` to `fold` (#126) fdfa528 2023-07-01 dependabot[bot] Bump actions/cache from 3.2.6 to 3.3.1 (#121) 238444c 2023-07-01 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.3 (#123) ca1e1ae 2023-06-30 Moritz Add coverage workflow (#119) cf02b4a 2023-06-30 Lasse R.H. Nielsen Make Changelog class eagerly load and parse file. (#120) ffi (https://github.com/dart-lang/ffi/compare/f582ca0..f01dfca): f01dfca 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#199) fixnum (https://github.com/dart-lang/fixnum/compare/d9b9a2a..00fa120): 00fa120 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#113) glob (https://github.com/dart-lang/glob/compare/109121d..5b24393): 5b24393 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#79) html (https://github.com/dart-lang/html/compare/b3b820b..4060496): 4060496 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#218) 8cb99e4 2023-07-01 Devon Carew address new analysis issues (#219) http (https://github.com/dart-lang/http/compare/d68081f..c148a3a): c148a3a 2023-07-07 Alex James Java http BaseClient implementation (#980) 474999f 2023-07-05 Brian Quinlan Document that the network entitlement is required when running in the macOS sandbox (#979) 98e4112 2023-07-05 Brian Quinlan Fix a bug where ...WebSocketClosed had two different initializer signatures (#981) 9833a20 2023-07-05 Brian Quinlan Support Steam<List<int>> as a provider of request data (#975) d3e78a0 2023-07-01 dependabot[bot] Bump actions/labeler from 4.0.4 to 4.2.0 (#976) http_multi_server (https://github.com/dart-lang/http_multi_server/compare/a209cd5..aa128cf): aa128cf 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#56) http_parser (https://github.com/dart-lang/http_parser/compare/19466c0..c14fbf6): c14fbf6 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#75) json_rpc_2 (https://github.com/dart-lang/json_rpc_2/compare/73467f3..509f71e): 509f71e 2023-07-05 Nate Bosch Fix the example to act as a server (#100) d80cbd0 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#99) leak_tracker (https://github.com/dart-lang/leak_tracker/compare/c75b0a7..85bd7fb): 85bd7fb 2023-07-05 Polina Cherkasova - (#87) lints (https://github.com/dart-lang/lints/compare/89f9519..e03dc04): e03dc04 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#138) logging (https://github.com/dart-lang/logging/compare/f2fe2ac..5214987): 5214987 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#144) markdown (https://github.com/dart-lang/markdown/compare/4674d09..b4bdde2): b4bdde2 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#549) matcher (https://github.com/dart-lang/matcher/compare/7e10117..ce8f409): ce8f409 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#225) mime (https://github.com/dart-lang/mime/compare/2444840..bdb66bd): bdb66bd 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#99) mockito (https://github.com/dart-lang/mockito/compare/974226e..451f756): 451f756 2023-07-10 Nate Bosch Add example of mocking callbacks c13496c 2023-07-05 Googler Rollback of "Use `FunctionTypedElement.type` while generating method overrides" 60e619a 2023-07-05 Ilya Yanok Use `FunctionTypedElement.type` while generating method overrides 93b69ef 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#669) a926a63 2023-06-30 Ilya Yanok Add a note on only running codegen on files under `test/` by default 9f40189 2023-06-30 Ilya Yanok Require analyzer 5.12.0 native (https://github.com/dart-lang/native/compare/e12d3e6..de1b0cc): de1b0cc 2023-07-10 Daco Harkes [c_compiler] Pass the correct SDK for iOS simulator builds (#77) 21d7270 2023-07-01 dependabot[bot] Bump coverallsapp/github-action from 2.1.2 to 2.2.0 (#72) 23a9b62 2023-07-01 dependabot[bot] Bump nttld/setup-ndk (#74) 44073a8 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#75) 6f01604 2023-07-01 dependabot[bot] Bump actions/labeler from 4.0.4 to 4.2.0 (#73) package_config (https://github.com/dart-lang/package_config/compare/203de20..be0c441): be0c441 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#138) path (https://github.com/dart-lang/path/compare/592505f..282dd18): 282dd18 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#147) pool (https://github.com/dart-lang/pool/compare/c6b1b2c..7700102): 7700102 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#72) protobuf (https://github.com/dart-lang/protobuf/compare/7bebbc6..a912f76): a912f76 2023-07-04 Ömer Sinan Ağacan Add more message set tests, fix a bug (#859) pub_semver (https://github.com/dart-lang/pub_semver/compare/3930557..028b435): 028b435 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#90) shelf (https://github.com/dart-lang/shelf/compare/ce379aa..bd59ead): bd59ead 2023-07-06 Kevin Moore router_generator: allow latest pkg:analyzer, request Dart 3 (#368) bebc801 2023-07-06 Jonas Finnemann Jensen Fix 244 (#268) 1617efa 2023-07-02 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#366) c037bb6 2023-07-02 dependabot[bot] Bump actions/labeler from 4.0.4 to 4.2.0 (#365) 1ae4d4e 2023-07-01 Devon Carew address a new lint (#367) source_map_stack_trace (https://github.com/dart-lang/source_map_stack_trace/compare/b83af01..16e54fd): 16e54fd 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#40) source_maps (https://github.com/dart-lang/source_maps/compare/58eef30..97c4833): 97c4833 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#80) source_span (https://github.com/dart-lang/source_span/compare/4dc78fb..37735ae): 37735ae 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#99) sse (https://github.com/dart-lang/sse/compare/bfcbcd7..e241085): e241085 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#85) stack_trace (https://github.com/dart-lang/stack_trace/compare/8b2046e..4ddd86d): 4ddd86d 2023-07-05 Slava Egorov Prepare 1.11.1 release (#137) d3e4c4d 2023-07-04 Slava Egorov Use awaiter-link pragma to guide VM's builtin awaiter stack unwinding (#135) 44aafa3 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#136) stream_channel (https://github.com/dart-lang/stream_channel/compare/34804a1..e54234f): e54234f 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#93) string_scanner (https://github.com/dart-lang/string_scanner/compare/6bb314f..35657e2): 35657e2 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#59) term_glyph (https://github.com/dart-lang/term_glyph/compare/4daa34e..423700a): 423700a 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#40) test (https://github.com/dart-lang/test/compare/021667a..3429712): 3429712b 2023-07-06 Nate Bosch Drop usage of window.testRunner (#2059) dc6b8236 2023-06-29 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.5.3 (#2051) b6dc3f8d 2023-06-29 dependabot[bot] Bump dart-lang/setup-dart from 1.3.0 to 1.5.0 (#2052) 5fa2572f 2023-06-29 Jacob MacDonald regenerate mono_repo with the latest (#2055) 56584627 2023-06-29 dependabot[bot] Bump github/codeql-action from 2.3.5 to 2.20.1 (#2053) 050fe2d6 2023-06-29 dependabot[bot] Bump ossf/scorecard-action from 2.1.3 to 2.2.0 (#2054) ba6ccfc2 2023-06-29 Devon Carew config dependabot to send daily PRs for major version bumps (#2050) test_descriptor (https://github.com/dart-lang/test_descriptor/compare/be7ce07..54a4c59): 54a4c59 2023-07-03 Devon Carew update formatting for recent lints (#54) test_process (https://github.com/dart-lang/test_process/compare/5ff2122..b360784): b360784 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#46) test_reflective_loader (https://github.com/dart-lang/test_reflective_loader/compare/40d61b1..0bfaad9): 0bfaad9 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#50) tools (https://github.com/dart-lang/tools/compare/8db0aa1..af38b2b): af38b2b 2023-07-02 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#119) 8b8ccab 2023-07-01 Devon Carew update formatting based on the recent lints (#121) 30b50ff 2023-07-01 dependabot[bot] Bump coverallsapp/github-action from 2.1.2 to 2.2.0 (#118) 74979c1 2023-07-01 dependabot[bot] Bump actions/labeler from 4.0.4 to 4.2.0 (#120) typed_data (https://github.com/dart-lang/typed_data/compare/8d29573..a20be90): a20be90 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#69) usage (https://github.com/dart-lang/usage/compare/6ee0908..09bb847): 09bb847 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#196) watcher (https://github.com/dart-lang/watcher/compare/3f17faa..7457413): 7457413 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#148) web_socket_channel (https://github.com/dart-lang/web_socket_channel/compare/7fb82f2..7ae4d0f): 7ae4d0f 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#274) webdev (https://github.com/dart-lang/webdev/compare/8360d50..f0ba743): f0ba7438 2023-07-07 Elliott Brooks Reset webdev to version 3.0.7-wip (#2170) 2fcc1ba9 2023-07-06 Anna Gringauze Add option of running frontend server tests in canary mode (#2169) 632763a5 2023-07-06 Elliott Brooks Prepare webdev for release to 3.0.6 (#2167) fa7b6d44 2023-07-05 dependabot[bot] Bump actions/checkout from 3.5.0 to 3.5.3 (#2163) 2a6a457b 2023-07-05 Devon Carew regenerate from the latest mono_repo (#2165) cbb0d76a 2023-07-05 Anna Gringauze Run instance tests with frontend server (#2160) b672e98a 2023-07-05 Elliott Brooks Reset DWDS after release (#2168) 8ef92d71 2023-07-05 Elliott Brooks Prepare DWDS for release to version 19.0.2 (#2166) 77e5b373 2023-07-05 Elliott Brooks Handle potential `null` value in `setUpChromeConsoleListeners` (#2162) 5081dff0 2023-07-01 dependabot[bot] Bump actions/labeler from 4.0.4 to 4.2.0 (#2164) yaml (https://github.com/dart-lang/yaml/compare/0b9041d..7930148): 7930148 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#148) Change-Id: I095a2479946e13d8499f1b3a58dc5a82688063f6 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313020 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Devon Carew <devoncarew@google.com>
This issue was originally filed by ief...@unipro.ru
What steps will reproduce the problem?
consider the following test:
interface I {}
interface J {}
class A implements I, J, I {}
main() {
new A();
}
What is the expected output? What do you see instead?
Expected: compile-time error (It is a compile-time error if a type T appears more than once in the implements clause of a class)
Actual: successful compilation
What version of the product are you using? On what operating system?
DartVM r2810
Please provide any additional information below.
co19 test
LangSpecTest/07_Classes/9/Superinterfaces/A04/t01
The text was updated successfully, but these errors were encountered: