Repository: intellij-rust/intellij-rust
Issue: "Run external linter" throws exception

<!--
Hello and thank you for the issue!
If you would like to report a bug, we have added some points below that you can fill out.
Feel free to remove all the irrelevant text to request a new feature.
-->

## Environment

* **IntelliJ Rust plugin version:** 0.2.125.3191-201 
* **Rust toolchain version:** 1.44.1
* **IDE name and version:** CLion 2020.1.2
* **Operating system:** Arch Linux

## Problem description
"Run external linter" throws the following exception in the IDE log, and pops up with "No suspicious code found", though running the linter externally (`cargo clippy`) finds issues.

IDE error:
```
020-07-01 10:07:34,337 [ 146578]   INFO - ex.GlobalInspectionContextBase - Code inspection started 
2020-07-01 10:07:34,357 [ 146598]  ERROR - ex.GlobalInspectionContextBase - Argument for @NotNull parameter 'currentElement' of com/intellij/codeInsight/daemon/impl/B.<init> must not be null 
java.lang.IllegalArgumentException: Argument for @NotNull parameter 'currentElement' of com/intellij/codeInsight/daemon/impl/B.<init> must not be null
	at com.intellij.codeInsight.daemon.impl.B.$$$reportNull$$$0(B.java)
	at com.intellij.codeInsight.daemon.impl.B.<init>(B.java)
	at com.intellij.codeInsight.daemon.impl.AnnotationHolderImpl.newAnnotation(AnnotationHolderImpl.java:186)
	at org.rust.ide.annotator.RsExternalLinterUtilsKt.createAnnotationsForFile(RsExternalLinterUtils.kt:185)
	at org.rust.ide.inspections.RsExternalLinterInspection$Companion.getProblemDescriptors(RsExternalLinterInspection.kt:204)
	at org.rust.ide.inspections.RsExternalLinterInspection$Companion.access$getProblemDescriptors(RsExternalLinterInspection.kt:116)
	at org.rust.ide.inspections.RsExternalLinterInspection$inspectionFinished$$inlined$runReadAction$1.compute(actions.kt:83)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:884)
	at org.rust.ide.inspections.RsExternalLinterInspection.inspectionFinished(RsExternalLinterInspection.kt:269)
	at com.intellij.codeInspection.ex.GlobalInspectionContextImpl.runTools(GlobalInspectionContextImpl.java:557)
	at com.intellij.codeInspection.ex.GlobalInspectionContextBase.lambda$performInspectionsWithProgress$4(GlobalInspectionContextBase.java:261)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:627)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:572)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
	at com.intellij.codeInspection.ex.GlobalInspectionContextBase.performInspectionsWithProgress(GlobalInspectionContextBase.java:261)
	at com.intellij.codeInspection.ex.GlobalInspectionContextBase$2.run(GlobalInspectionContextBase.java:214)
	at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:932)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsync$5(CoreProgressManager.java:434)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$null$3(ProgressRunner.java:233)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:166)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:627)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:572)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:153)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:233)
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
2020-07-01 10:07:34,357 [ 146598]  ERROR - ex.GlobalInspectionContextBase - CLion 2020.1.2  Build #CL-201.7846.88 
2020-07-01 10:07:34,357 [ 146598]  ERROR - ex.GlobalInspectionContextBase - JDK: 1.8.0_252; VM: OpenJDK 64-Bit Server VM; Vendor: Oracle Corporation 
2020-07-01 10:07:34,357 [ 146598]  ERROR - ex.GlobalInspectionContextBase - OS: Linux 
2020-07-01 10:07:34,358 [ 146599]  ERROR - ex.GlobalInspectionContextBase - Plugin to blame: Rust version: 0.2.125.3191-201 
2020-07-01 10:07:34,358 [ 146599]  ERROR - ex.GlobalInspectionContextBase - Last Action: Cargo.RunExternalLinter
2020-07-01 10:07:34,385 [ 146626]   INFO - ex.GlobalInspectionContextImpl - Code inspection finished. Took 41ms 
```


## Steps to reproduce
* (optional: invalidate caches and restart)
* "Run external linter"

<!--
Please include as much of your codebase as needed to reproduce the error.
If the relevant files are large, please provide a link to a public repository or a [Gist](https://gist.github.com/).
-->


Changed files:
src/main/kotlin/org/rust/ide/inspections/RsExternalLinterInspection.kt

diff --git a/src/main/kotlin/org/rust/ide/inspections/RsExternalLinterInspection.kt b/src/main/kotlin/org/rust/ide/inspections/RsExternalLinterInspection.kt
index 28afdaac5..eff7bc17a 100644
--- a/src/main/kotlin/org/rust/ide/inspections/RsExternalLinterInspection.kt
+++ b/src/main/kotlin/org/rust/ide/inspections/RsExternalLinterInspection.kt
@@ -201,7 +201,9 @@ class RsExternalLinterInspection : GlobalSimpleInspectionTool() {
             for (file in analyzedFiles) {
                 if (!file.isValid) continue
                 val annotationHolder = AnnotationHolderImpl(AnnotationSession(file))
-                annotationHolder.createAnnotationsForFile(file, annotationResult)
+                annotationHolder.runAnnotatorWithContext(file) { _, holder ->
+                    holder.createAnnotationsForFile(file, annotationResult)
+                }
                 addAll(convertToProblemDescriptors(annotationHolder, file))
             }
         }