File tree Expand file tree Collapse file tree 2 files changed +31
-3
lines changed 
tests/FSharp.Compiler.Service.Tests Expand file tree Collapse file tree 2 files changed +31
-3
lines changed Original file line number Diff line number Diff line change @@ -5429,6 +5429,8 @@ let rec TcModuleOrNamespaceElementNonMutRec (cenv: cenv) parent typeNames scopem
54295429          let  envNS  =  LocateEnv kind.IsModule cenv.thisCcu env enclosingNamespacePath
54305430          let  envNS  =  ImplicitlyOpenOwnNamespace cenv.tcSink g cenv.amap m enclosingNamespacePath envNS
54315431
5432+           CallEnvSink cenv.tcSink ( scopem,  envNS.NameEnv,  env.eAccessRights) 
5433+ 
54325434          let  modTyNS  =  envNS.eModuleOrNamespaceTypeAccumulator.Value
54335435          let  modTyRoot ,  modulNSs  =  BuildRootModuleType enclosingNamespacePath envNS.eCompPath modTyNS
54345436          let  modulNSOpt  =  List.tryHead modulNSs
Original file line number Diff line number Diff line change @@ -13,11 +13,17 @@ let getCompletionInfo source =
1313let  getCompletionItemNames   ( completionInfo :  DeclarationListInfo )  = 
1414    completionInfo.Items |>  Array.map ( fun  item  ->  item.NameInCode) 
1515
16- let  assertHasItemWithNames  names  ( completionInfo :  DeclarationListInfo )  = 
16+ let  private   assertItemsWithNames  contains  names ( completionInfo :  DeclarationListInfo )  = 
1717    let  itemNames  =  getCompletionItemNames completionInfo |>  set
1818
1919    for  name in  names do 
20-         Assert.True( Set.contains name itemNames,  $" {name} not found in {itemNames}" ) 
20+         Assert.True( Set.contains name itemNames =  contains) 
21+ 
22+ let  assertHasItemWithNames  names  ( completionInfo :  DeclarationListInfo )  = 
23+     assertItemsWithNames true  names completionInfo
24+ 
25+ let  assertHasNoItemsWithNames  names  ( completionInfo :  DeclarationListInfo )  = 
26+     assertItemsWithNames false  names completionInfo
2127
2228[<Fact>] 
2329let  ``Expr  -  After record decl 01``  ()  = 
@@ -353,4 +359,24 @@ module rec M =
353359
354360    let _: R{caret} = () 
355361""" 
356-     assertHasItemWithNames [ " Rec1" ;  " Rec2" ;  " Rec3" ]  info
362+     assertHasItemWithNames [ " Rec1" ;  " Rec2" ;  " Rec3" ]  info
363+ 
364+ [<Fact>] 
365+ let  ``Not in scope 01``  ()  = 
366+     let  info  = 
367+         getCompletionInfo """ 
368+ namespace Ns1 
369+ 
370+ type E = 
371+     | A = 1 
372+     | B = 2 
373+     | C = 1 
374+ 
375+ namespace Ns2 
376+ 
377+ module Module = 
378+     match Ns1.E.A with 
379+     | {caret} 
380+ 
381+ """ 
382+     assertHasNoItemsWithNames [ " E" ]  info
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments