1import ./m1 {.all.} as m
2doAssert foo1 == 2
3doAssert m.foo1 == 2
4
5doAssert m.m3h2 == 2
6doAssert m3h2 == 2
7doAssert m.foo1Aux == 2
8doAssert m.m3p1 == 2
9
10## field access
11import std/importutils
12privateAccess(Foo5)
13var x = Foo5(z1: "foo", z2: m.kg1)
14doAssert x.z1 == "foo"
15
16var f0: Foo5
17f0.z3 = 3
18doAssert f0.z3 == 3
19var f = initFoo5(z3=3)
20doAssert f.z3 == 3
21doAssert z3(f) == 30
22doAssert m.z3(f) == 30
23doAssert not compiles(mt1.`z3`(f)) # z3 is an imported symbol
24