You will want to use `Location::caller` [0] instead of the `line` macro (and friends). You will need to annotate enough places with `#[track_caller]` so the location is correct.
[0]: https://doc.rust-lang.org/std/panic/struct.Location.html#met...
[0]: https://doc.rust-lang.org/std/panic/struct.Location.html#met...