Hamish Knight
7a137d6756
[CS] Allow ExprPatterns to be type-checked in the solver
...
Previously we would wait until CSApply, which
would trigger their type-checking in
`coercePatternToType`. This caused a number of
bugs, and hampered solver-based completion, which
does not run CSApply. Instead, form a conjunction
of all the ExprPatterns present, which preserves
some of the previous isolation behavior (though
does not provide complete isolation).
We can then modify `coercePatternToType` to accept
a closure, which allows the solver to take over
rewriting the ExprPatterns it has already solved.
This then sets the stage for the complete removal
of `coercePatternToType`, and doing all pattern
type-checking in the solver.
2023-06-07 00:35:01 +01:00
..
2023-05-11 21:10:28 +01:00
2023-02-02 13:23:28 +09:00
2023-05-05 15:20:07 -07:00
2022-08-31 03:00:06 +03:00
2021-08-13 12:20:11 -07:00
2022-05-13 18:42:09 -07:00
2023-05-30 08:44:02 -06:00
2022-04-13 08:28:17 +02:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-04-04 07:44:43 +09:00
2023-03-22 09:07:17 -07:00
2023-05-16 03:27:36 +03:00
2023-03-22 09:07:17 -07:00
2023-05-09 13:41:42 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-05-13 02:55:49 +03:00
2022-04-07 09:19:22 +02:00
2023-03-22 09:07:17 -07:00
2023-04-25 18:06:47 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-24 17:05:57 -07:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-04-09 09:34:51 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-04-28 17:20:45 -07:00
2023-05-01 16:10:14 -07:00
2023-05-04 18:02:26 -07:00
2022-10-21 16:46:06 -07:00
2023-03-22 09:07:17 -07:00
2023-05-13 02:55:49 +03:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-04-13 16:38:10 -07:00
2022-04-13 08:28:17 +02:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-04-11 17:35:52 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-04-07 18:43:06 -07:00
2023-04-07 18:43:06 -07:00
2022-04-13 08:28:17 +02:00
2022-04-13 08:28:17 +02:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2022-05-10 11:49:12 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-04-15 15:40:05 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2022-04-28 16:36:54 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2021-07-16 13:24:19 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-06-07 00:35:01 +01:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-05-09 20:21:30 -07:00
2022-11-08 17:27:48 +01:00
2021-07-20 14:11:30 +01:00
2021-07-20 14:11:30 +01:00
2023-05-17 22:42:42 -07:00
2022-01-02 12:43:59 -05:00
2021-10-11 18:19:26 -07:00
2023-05-13 02:55:49 +03:00
2023-05-13 02:55:49 +03:00
2023-05-13 02:55:49 +03:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-03-22 09:07:17 -07:00
2023-05-17 22:42:42 -07:00
2021-12-02 11:12:07 -08:00
2021-08-09 17:27:59 -04:00
2022-08-31 03:00:06 +03:00
2023-05-30 08:44:02 -06:00
2021-10-13 11:53:58 -07:00
2023-05-13 02:55:49 +03:00
2022-06-09 14:35:41 +05:30
2021-11-19 11:34:02 -08:00
2023-05-11 21:10:28 +01:00
2023-05-13 02:55:49 +03:00
2023-05-13 02:55:49 +03:00
2023-03-07 16:00:16 -08:00
2022-06-12 20:25:16 -07:00
2022-07-21 09:31:32 -07:00
2023-05-13 02:55:49 +03:00
2022-10-31 15:16:59 -07:00
2023-04-14 13:40:02 -07:00
2023-03-08 12:46:50 -08:00
2022-01-25 14:03:11 -08:00
2022-01-25 14:03:11 -08:00
2022-01-25 14:03:11 -08:00
2022-01-25 14:03:11 -08:00
2023-04-20 21:55:40 +03:00
2022-08-31 03:00:06 +03:00
2022-08-31 03:00:06 +03:00
2023-05-13 02:55:49 +03:00
2021-07-27 11:38:07 +01:00