In this particular problem, all edge weights are 1..=9, so you can have a O(1) priority queue (fixed-bound bucket queue) if you make use of that fact.
(example: https://github.com/aldanor/aoc-2021/blob/master/src/day15/mo...)
(example: https://github.com/aldanor/aoc-2021/blob/master/src/day15/mo...)