It's a Rust compile time Sudoku solver. It solves the almost complete puzzle, not the "real" puzzle.
[0]: https://play.rust-lang.org/?version=nightly&mode=debug&editi...
while grid[index] == 9 || grid[index] != 0 {
is equivalent to while grid[index] != 0 {
so when you backtrack, you always backtrack all the way to the beginning.I think you want
while grid[index] == 9 || initial_grid[index] != 0 {
grid[index] = initial_grid[index];
or something to that effect.