Dana Jansens
168420f805
Allow impl redecl in match_first after a definition ( #7491 )
...
Previously the last decl had to be the definition. Now we allow a
declaration after a definition, so that the user can write a match_first
block last, and put (re-)declarations of impls in it, after the
definitions have already been written elsewhere.
We track the location of the decl that was associated with a match_first
block so that we can correctly point to it in diagnostics when an impl
is written twice in match_first blocks. Since impls may not be
redeclared across an import boundary, we will never have a `SemIR::Impl`
with a match_first from a different file in a redeclaration, so we don't
need to import the location of a previous decl that was in a match_first
for diagnostics. As such we just store a LocId on the `SemIR::Impl`
struct.
2026-07-15 14:12:37 +00:00
..
2026-05-21 00:02:29 +00:00
2026-04-23 20:11:04 +00:00
2026-05-14 08:29:17 +00:00
2026-07-11 01:22:44 +00:00
2026-07-14 22:58:05 +00:00
2026-06-11 16:45:39 +00:00
2026-06-11 16:45:39 +00:00
2025-11-14 00:40:26 +00:00
2026-06-08 02:42:23 +00:00
2026-06-19 00:22:05 +00:00
2026-06-07 16:27:22 +00:00
2026-06-07 16:27:22 +00:00
2026-06-15 20:30:07 +00:00
2026-06-15 20:30:07 +00:00
2026-06-08 02:42:23 +00:00
2026-07-11 01:22:44 +00:00
2025-07-02 19:21:01 +00:00
2026-06-04 00:33:33 +00:00
2026-04-24 17:33:23 +00:00
2026-04-24 17:33:23 +00:00
2026-06-07 16:27:22 +00:00
2026-06-07 16:27:22 +00:00
2026-01-30 22:24:18 +00:00
2026-01-30 22:24:18 +00:00
2026-05-14 08:29:17 +00:00
2026-06-07 16:27:22 +00:00
2026-06-07 16:27:22 +00:00
2026-04-23 20:11:04 +00:00
2026-07-08 18:04:56 +00:00
2026-06-09 22:17:18 +00:00
2026-07-14 22:58:05 +00:00
2026-07-14 22:58:05 +00:00
2026-06-13 00:22:00 +00:00
2026-02-18 22:17:15 +00:00
2025-04-25 16:06:10 +00:00
2026-06-29 17:41:23 +00:00
2026-06-25 22:46:48 +00:00
2026-06-26 18:31:26 +00:00
2026-06-26 18:31:26 +00:00
2026-06-01 19:02:01 +00:00
2026-06-01 19:02:01 +00:00
2026-07-08 17:07:10 +00:00
2026-07-08 17:07:10 +00:00
2026-02-25 23:18:09 +00:00
2026-02-25 23:18:09 +00:00
2026-07-15 14:12:37 +00:00
2026-07-08 17:07:10 +00:00
2026-05-14 08:29:17 +00:00
2026-07-08 17:07:10 +00:00
2026-05-14 08:29:17 +00:00
2026-07-11 01:22:44 +00:00
2026-07-08 17:07:10 +00:00
2025-07-10 21:21:19 +00:00
2026-07-08 17:07:10 +00:00
2026-07-08 17:07:10 +00:00
2026-05-14 19:34:23 +00:00
2026-07-15 14:12:37 +00:00
2025-10-30 18:03:34 +00:00
2026-05-14 08:29:17 +00:00
2026-05-14 08:29:17 +00:00
2026-06-29 17:41:23 +00:00
2026-07-08 18:04:56 +00:00
2026-05-19 23:16:51 +00:00
2026-03-24 20:56:44 +00:00
2026-07-11 14:01:38 +00:00
2026-06-26 18:53:26 +00:00
2026-07-08 18:04:56 +00:00
2026-07-08 17:07:10 +00:00
2026-07-14 22:58:05 +00:00
2026-07-14 22:58:05 +00:00
2026-05-14 08:29:17 +00:00
2026-07-08 17:07:10 +00:00
2026-06-05 20:49:34 +00:00
2026-05-19 23:16:51 +00:00
2026-02-19 16:24:07 +00:00
2026-06-01 19:19:08 +00:00
2026-06-07 16:27:22 +00:00
2026-06-08 02:42:23 +00:00
2026-06-08 02:42:23 +00:00
2026-05-14 08:29:17 +00:00
2026-05-14 08:29:17 +00:00
2026-07-08 17:07:10 +00:00
2026-07-08 17:07:10 +00:00
2026-06-13 00:22:00 +00:00
2025-11-13 17:04:58 +00:00
2026-06-15 20:30:07 +00:00
2026-06-15 20:30:07 +00:00
2026-05-14 08:29:17 +00:00
2026-05-14 08:29:17 +00:00
2026-01-07 00:54:18 +00:00
2026-05-14 08:29:17 +00:00
2026-05-14 08:29:17 +00:00
2025-11-13 23:00:20 +00:00
2026-07-11 01:22:44 +00:00
2025-12-02 17:21:53 +00:00
2026-05-14 08:29:17 +00:00
2026-05-14 08:29:17 +00:00
2026-06-09 21:10:18 +00:00
2026-06-07 16:27:22 +00:00
2026-04-16 22:37:48 +00:00
2026-05-15 14:53:51 +00:00
2026-05-11 14:17:18 +00:00
2026-07-07 13:30:53 +00:00
2026-07-07 13:30:53 +00:00
2025-04-25 16:06:10 +00:00
2026-07-15 14:12:37 +00:00
2026-05-14 08:29:17 +00:00
2026-05-14 08:29:17 +00:00
2026-06-05 02:07:46 +00:00