Skip to content

Commit eefb280

Browse files
auduchinokbaronfel
authored andcommitted
Don't stop type checking recursive module on unresolved open (#6965)
Thank you
1 parent 47f7ad5 commit eefb280

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/fsharp/TypeChecker.fs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12545,15 +12545,18 @@ let TcTyconMemberSpecs cenv env containerInfo declKind tpenv (augSpfn: SynMember
1254512545
let TcModuleOrNamespaceLidAndPermitAutoResolve tcSink env amap (longId: Ident list) =
1254612546
let ad = env.eAccessRights
1254712547
match longId with
12548-
| [] -> Result []
12548+
| [] -> []
1254912549
| id :: rest ->
1255012550
let m = longId |> List.map (fun id -> id.idRange) |> List.reduce unionRanges
1255112551
match ResolveLongIndentAsModuleOrNamespace tcSink ResultCollectionSettings.AllResults amap m true OpenQualified env.eNameResEnv ad id rest true with
12552-
| Result res -> Result res
12553-
| Exception err -> raze err
12552+
| Result res -> res
12553+
| Exception err ->
12554+
errorR(err); []
1255412555

1255512556
let TcOpenDecl tcSink (g: TcGlobals) amap m scopem env (longId: Ident list) =
12556-
let modrefs = ForceRaise (TcModuleOrNamespaceLidAndPermitAutoResolve tcSink env amap longId)
12557+
match TcModuleOrNamespaceLidAndPermitAutoResolve tcSink env amap longId with
12558+
| [] -> env
12559+
| modrefs ->
1255712560

1255812561
// validate opened namespace names
1255912562
for id in longId do

0 commit comments

Comments
 (0)