Michael Rutter

Results 21 comments of 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`...