diff --git a/src/fsharp/service/service.fs b/src/fsharp/service/service.fs index 80b55834f02..34e6bc675f7 100644 --- a/src/fsharp/service/service.fs +++ b/src/fsharp/service/service.fs @@ -1521,6 +1521,12 @@ module internal Parser = let matchBraces(source, fileName, options: FSharpParsingOptions, userOpName: string) = Trace.TraceInformation("FCS: {0}.{1} ({2})", userOpName, "matchBraces", fileName) + + // Make sure there is an ErrorLogger installed whenever we do stuff that might record errors, even if we ultimately ignore the errors + let delayedLogger = CapturingErrorLogger("matchBraces") + use _unwindEL = PushErrorLoggerPhaseUntilUnwind (fun _ -> delayedLogger) + use _unwindBP = PushThreadBuildPhaseUntilUnwind BuildPhase.Parse + let matchingBraces = new ResizeArray<_>() Lexhelp.usingLexbufForParsing(UnicodeLexing.StringAsLexbuf(addNewLine source), fileName) (fun lexbuf -> let errHandler = ErrorHandler(false, fileName, options.ErrorSeverityOptions, source)