7d8f83831c
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>
This directory contains tests of the language and core library implementations. For more information, see https://github.com/dart-lang/sdk/tree/main/docs/Testing.md.