Perhaps it could just check the length of files and not crash?!? Don’t you think that’s sensible?
The problem is the degenerative syntax tree that TreeSitter produces in case of, for example a multi-million array of bytes. This causes a stack overflow in the TreeSitter C code which takes down the Rust process with it.
The correct solution would be to prevent TS from crashing, or isolate the C<->Rust boundary better.
Or just, not support that for v0.3. Because if you are diffing the collected works of Shakespeare as a binary blob in a C++ header, maybe diffing isn't your biggest problem.