Rust thread 'main' has overflowed its stack

This two-dimensional array is huge. Rust tries to allocate it on the stack (that's the way arrays in Rust work).

You explicitly wrote you didn't want to use vectors, but in reality vectors are allocated on the heap, so you wouldn't have such a problem with them. It's good to keep that in mind.

If you insist on using arrays, maybe put them in a Box, so that they go to the heap?

That's not a Rust-specific problem. Stacks are generally a lot more limited, compared to the heap, usually up to a few megabytes. In some other languages, such as Java, arrays are allocated on the heap, but that doesn't mean there is no similar stack size limit there as well.