Konstantin Shcheglov
7d8f83831c
PrNP. Don't report finalNotInitializedConstructor for duplicate fields.
...
When a class declares the same instance field name more than once, the
"not initialized by this constructor" diagnostics are inherently
cascading. The root problem is the duplicate definition, and there is no
single unambiguous field declaration for the constructor verifier to
reason about.
Track duplicate field names per interface and suppress constructor
field-initialization diagnostics for those names (both final and
non-nullable). This avoids emitting misleading `finalNotInitialized*`
errors in code that is already invalid due to a duplicate field.
Update language/diagnostic expectations accordingly, including the
constructor regression and PrNP collision annotations.
Change-Id: I1095bae9ce0aaa876cbacaa970d7379ed70d7568
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/475560
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2026-01-28 17:48:57 -08:00
..
2025-04-29 07:38:43 -07:00
2025-02-19 04:21:42 -08:00
2025-06-24 01:16:24 -07:00
2024-12-13 10:52:25 -08:00
2026-01-26 01:49:03 -08:00
2024-12-20 02:39:21 -08:00
2026-01-26 01:49:03 -08:00
2025-10-24 09:31:25 -07:00
2025-06-17 04:03:26 -07:00
2025-09-04 01:22:53 -07:00
2025-07-30 13:56:40 -07:00
2025-04-29 07:38:43 -07:00
2025-10-27 01:35:09 -07:00
2026-01-19 17:01:59 -08:00
2026-01-13 02:46:44 -08:00
2025-10-27 01:35:09 -07:00
2026-01-13 09:45:43 -08:00
2025-06-17 04:03:26 -07:00
2025-04-29 07:38:43 -07:00
2026-01-28 17:48:57 -08:00
2025-06-02 10:59:31 -07:00
2025-10-27 01:35:09 -07:00
2024-12-12 15:50:08 -08:00
2025-11-28 03:23:01 -08:00
2026-01-28 10:37:06 -08:00
2025-02-19 04:21:42 -08:00
2025-04-29 07:38:43 -07:00
2025-06-17 04:03:26 -07:00
2025-07-24 07:21:26 -07:00
2025-02-19 04:21:42 -08:00
2025-04-29 07:38:43 -07:00
2025-09-01 03:59:59 -07:00
2026-01-23 01:59:13 -08:00
2025-06-17 04:03:26 -07:00
2025-02-26 10:39:51 -08:00
2025-05-26 08:08:31 -07:00
2025-10-27 01:35:09 -07:00
2025-04-29 07:37:05 -07:00
2025-10-27 01:35:09 -07:00
2025-04-29 07:37:05 -07:00
2025-06-24 01:16:24 -07:00
2025-04-29 07:37:05 -07:00
2025-07-24 07:21:26 -07:00
2025-10-27 01:35:09 -07:00
2024-11-21 10:49:44 +00:00
2025-02-05 08:36:21 -08:00
2025-06-17 04:03:26 -07:00
2025-04-29 07:37:05 -07:00
2025-02-05 08:36:21 -08:00
2025-02-19 04:21:42 -08:00
2025-09-05 05:22:00 -07:00
2025-04-29 07:37:05 -07:00
2025-05-12 08:25:20 -07:00
2025-04-29 07:37:05 -07:00
2024-10-16 17:54:39 +00:00
2025-08-27 04:59:03 -07:00
2025-02-19 04:21:42 -08:00
2025-10-27 01:35:09 -07:00
2025-04-29 07:37:05 -07:00
2025-12-01 13:54:52 -08:00
2025-02-05 08:36:21 -08:00
2025-06-17 04:03:26 -07:00
2025-02-19 04:21:42 -08:00
2025-04-29 07:37:05 -07:00
2025-06-17 04:03:26 -07:00
2025-09-29 11:04:13 -07:00
2025-02-19 04:21:42 -08:00
2025-12-15 08:55:50 -08:00
2024-11-21 10:49:44 +00:00
2025-02-19 04:21:42 -08:00
2025-09-04 01:22:53 -07:00
2025-05-19 00:18:57 -07:00
2025-10-27 01:35:09 -07:00
2025-10-27 01:35:09 -07:00
2025-08-21 08:08:40 -07:00
2025-02-11 00:23:41 -08:00
2026-01-19 17:01:59 -08:00
2025-08-21 08:08:40 -07:00
2025-09-24 01:18:32 -07:00
2025-02-19 04:21:42 -08:00
2025-10-27 01:35:09 -07:00
2025-06-24 01:16:24 -07:00
2025-06-17 04:03:26 -07:00
2025-06-24 01:16:24 -07:00
2025-10-27 01:35:09 -07:00
2025-08-27 02:00:02 -07:00
2025-09-09 04:50:35 -07:00
2025-06-27 02:29:33 -07:00
2025-11-14 03:01:16 -08:00
2025-10-27 01:35:09 -07:00
2025-06-17 04:03:26 -07:00
2025-12-03 15:15:13 -08:00
2025-09-30 06:52:53 -07:00
2025-09-24 01:18:32 -07:00
2025-09-04 01:22:53 -07:00
2026-01-26 12:17:40 -08:00
2025-06-17 04:03:26 -07:00
2026-01-28 17:48:57 -08:00
2025-02-11 15:31:25 -08:00
2025-06-17 04:03:26 -07:00
2025-10-27 01:35:09 -07:00
2025-05-02 04:45:20 -07:00
2025-10-27 01:35:09 -07:00
2025-06-17 04:03:26 -07:00
2025-05-02 04:46:00 -07:00
2025-05-02 04:46:00 -07:00
2025-07-29 04:41:21 -07:00
2025-05-02 04:46:00 -07:00
2025-10-27 01:35:09 -07:00
2025-09-09 04:50:35 -07:00
2025-05-02 04:46:00 -07:00
2026-01-28 04:41:56 -08:00
2026-01-13 02:46:44 -08:00
2025-10-27 01:35:09 -07:00
2026-01-12 11:04:03 -08:00
2024-11-28 09:10:30 +00:00
2025-11-19 15:06:41 -08:00
2025-06-17 04:03:26 -07:00
2026-01-26 01:49:03 -08:00
2025-10-27 01:35:09 -07:00
2025-03-04 00:53:03 -08:00
2025-10-27 01:35:09 -07:00
2025-10-27 01:35:09 -07:00
2025-05-02 04:28:39 -07:00
2025-06-24 01:16:24 -07:00
2025-06-17 04:03:26 -07:00
2025-06-17 04:03:26 -07:00
2025-05-02 04:28:39 -07:00
2025-10-27 01:35:09 -07:00
2025-05-02 04:14:03 -07:00
2025-10-27 01:35:09 -07:00
2025-06-17 04:03:26 -07:00
2025-09-22 04:49:24 -07:00
2025-08-22 08:05:19 -07:00
2025-06-17 04:03:26 -07:00
2024-12-20 02:39:21 -08:00
2024-10-11 16:53:52 +00:00
2025-08-18 12:38:35 -07:00
2024-09-04 21:58:12 +00:00
2026-01-21 04:58:13 -08:00
2026-01-21 04:58:13 -08:00
2025-10-27 01:35:09 -07:00
2025-09-29 11:04:13 -07:00
2026-01-07 03:38:06 -08:00
2025-01-02 03:27:35 -08:00
2025-01-02 03:27:35 -08:00
2025-04-29 07:38:43 -07:00
2024-10-11 16:53:52 +00:00
2025-01-02 03:27:35 -08:00
2025-04-29 07:38:43 -07:00
2025-01-02 03:27:35 -08:00