`PathWithPosition::parse_str` stripped the position suffix by searching
the whole path for the captured file name, so `foo/foo:10:2` was cut at
the first `foo` and parsed as `foo`. The same happened for
`main.rs-backup/src/main.rs:10:2`.
The captured file name is a slice of the last path component, so cut the
path right after it instead. Switching to `rsplit_once` would not work
either, since the last occurrence lands inside the position suffix for
numeric names like `1/1:1:1`.
Closes#64174