Fix an ICE on diagnostics originating in external macros
auto merge of #19158 : jakub-/rust/issue-14091, r=alexcrichton

Closes #14091.
Closes #19195.