3044: Don't crash when recieving unkown file for cargo diagnostic. r=matklad a=kiljacken

Fixes #3014

Co-authored-by: Emil Lauridsen <mine809@gmail.com>
This commit is contained in:
bors[bot] 2020-02-07 11:41:25 +00:00 committed by GitHub
commit 4d0d113c7d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -635,12 +635,13 @@ fn on_check_task(
CheckTask::AddDiagnostic { url, diagnostic, fixes } => {
let path = url.to_file_path().map_err(|()| format!("invalid uri: {}", url))?;
let file_id = world_state
.vfs
.read()
.path2file(&path)
.map(|it| FileId(it.0))
.ok_or_else(|| format!("unknown file: {}", path.to_string_lossy()))?;
let file_id = match world_state.vfs.read().path2file(&path) {
Some(file) => FileId(file.0),
None => {
log::error!("File with cargo diagnostic not found in VFS: {}", path.display());
return Ok(());
}
};
task_sender
.send(Task::Diagnostic(DiagnosticTask::AddCheck(file_id, diagnostic, fixes)))?;