Michael Rutter
Michael Rutter
The error reporting on the `complete` is a very welcome change.
I'm wondering if there should be some consolidation between `matcher` and `match`. Maybe the `matcher` API should be the successor of `match` should be deprecated or removed in v3? I...
Also with a builder pattern you can remove the "default" variant and rely on an `.otherwise(() => someDefaultValue)` to handle the wildcard case.
> But also all empty types are isomorphic... So we would need only one in theory. It is a bit difficult to understand exactly what are the problems that people...
I'm able to reproduce what appears to be the same issue in another large project (20k+ files). Offending line in lapce is this: https://github.com/lapce/lapce/blob/62080d1acf35c4e7000491a381a936396e7f24a8/lapce-data/src/palette.rs#L1296 `im` ends up recursively calling `do_quicksort`...
I've been getting similar kinds of heap allocation errors, and I'm slightly worried it might be related to ts-pattern. Any suggestions about how I could go about identifying problematic cases?...
Yes, the tracing tools are pretty corase grained. Only thing I notice is that the call stack for any matches with many `with` method calls gets qutie large during type...
I just changed one of the big ones to `otherwise` instead of `exhaustive` and it made nearly no difference in terms of the size of the callstack or the time...
exhaustive: otherwise: This could be a red herring
I kinda think that data at I/O boundaries is exactly when you would either validate your data (joi, yup, io-ts, zod, runtypes, etc...) and/or use `.otherwise`. Trying to use `.exhaustive`...