Skip to content

Commit b16abb5

Browse files
committed
add tentative fix for fsharp/fsharp#483
1 parent 5e7355d commit b16abb5

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/fsharp/CompileOps.fs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4235,9 +4235,16 @@ type TcImports(tcConfigP:TcConfigProvider, initialResolutions:TcAssemblyResoluti
42354235
| None ->
42364236

42374237
if tcConfigP.Get().useMonoResolution then
4238-
let resolved = [tcConfig.ResolveLibWithDirectories CcuLoadFailureAction.RaiseError assemblyReference |> Option.get]
4239-
resolutions <- resolutions.AddResolutionResults resolved
4240-
ResultD resolved
4238+
let action =
4239+
match mode with
4240+
| ResolveAssemblyReferenceMode.ReportErrors -> CcuLoadFailureAction.RaiseError
4241+
| ResolveAssemblyReferenceMode.Speculative -> CcuLoadFailureAction.ReturnNone
4242+
match tcConfig.ResolveLibWithDirectories action assemblyReference with
4243+
| Some resolved ->
4244+
resolutions <- resolutions.AddResolutionResults [resolved]
4245+
ResultD [resolved]
4246+
| None ->
4247+
ErrorD(AssemblyNotResolved(assemblyReference.Text,assemblyReference.Range))
42414248
else
42424249
// This is a previously unencounterd assembly. Resolve it and add it to the list.
42434250
// But don't cache resolution failures because the assembly may appear on the disk later.

0 commit comments

Comments
 (0)