about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/Linker.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-10-10 07:54:55 +0000
committerbors <bors@rust-lang.org>2022-10-10 07:54:55 +0000
commit79a3f84002b67a67ef82971445468195108a2bb7 (patch)
tree5b423518b3d3c4c467469a3c028b1cf804bd2cc1 /compiler/rustc_llvm/llvm-wrapper/Linker.cpp
parent05a6bc48b5f590bf99fc840e8b3742c072e10216 (diff)
parent5bbfea03ccada14bbaca6df6c0ef3760ac44a9a5 (diff)
downloadrust-79a3f84002b67a67ef82971445468195108a2bb7.tar.gz
rust-79a3f84002b67a67ef82971445468195108a2bb7.zip
Auto merge of #13367 - matklad:fix-problem-matchers, r=Veykril
fix: in VSCode, correctly resolve relative paths to errors

VS Code problem matcher are restricted to be static "regexes". You can't create a problem matcher dynamically, and you can't use custom code in lieu of problem matcher.

This creates a problem for rust/cargo compiler errors. They use paths relative to the root of the Cargo workspace, but VS Code doesn't necessary know where that root is.

Luckily, there's a way out: our current problem matcher is defined like this:

    "fileLocation": [ "autoDetect", "${workspaceRoot}" ],

That means that relative pahts would be resoleved relative to workspace root. VS Code allows to specify a command inside `${}`. So we can plug custom logic there to fetch Cargo's workspace root!

And that's exactly what this PR is doing!
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/Linker.cpp')
0 files changed, 0 insertions, 0 deletions