File tree Expand file tree Collapse file tree
tests/ParallelTypeCheckingTests Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11module ParallelTypeCheckingTests.DependencyResolution
22
3- open System.Linq
43open FSharp.Compiler .Syntax
54open ParallelTypeCheckingTests
65
Original file line number Diff line number Diff line change @@ -520,6 +520,31 @@ module Library
520520
521521open X.Y
522522
523+ let fn (a: A) = ()
524+ """
525+ ( set [| 0 |])
526+ ]
527+ scenario
528+ " Nested AutoOpen module in namespace is accessed via namespace open"
529+ [
530+ sourceFile
531+ " Z.fs"
532+ """
533+ namespace X.Y
534+
535+ [<AutoOpen>]
536+ module Z =
537+
538+ type A = { A: int }
539+ """
540+ Set.empty
541+ sourceFile
542+ " Library.fs"
543+ """
544+ module Library
545+
546+ open X.Y
547+
523548let fn (a: A) = ()
524549"""
525550 ( set [| 0 |])
Original file line number Diff line number Diff line change @@ -246,3 +246,34 @@ type A = { A : int }
246246 Assert.AreEqual( set [| 0 |], yNode.Files)
247247 let zNode = yNode.Children.[ " Z" ]
248248 Assert.AreEqual( set [| 0 |], zNode.Files)
249+
250+ [<Test>]
251+ let ``Nested AutoOpen module in namespace will expose the file to the namespace node`` () =
252+ let trie =
253+ TrieMapping.mkTrie
254+ [|
255+ {
256+ Idx = 0
257+ File = " Z.fs"
258+ AST =
259+ parseSourceCode (
260+ " Z.fs" ,
261+ """
262+ namespace X.Y
263+
264+ [<AutoOpen>]
265+ module Z =
266+
267+ type A = { A: int }
268+ """
269+ )
270+ }
271+ |]
272+
273+ Assert.AreEqual( Set.empty, trie.Files)
274+ let xNode = trie.Children.[ " X" ]
275+ Assert.AreEqual( Set.empty, xNode.Files)
276+ let yNode = xNode.Children.[ " Y" ]
277+ Assert.AreEqual( set [| 0 |], yNode.Files)
278+ let zNode = yNode.Children.[ " Z" ]
279+ Assert.AreEqual( set [| 0 |], zNode.Files)
You can’t perform that action at this time.
0 commit comments