使部分导入标识符对进口商可见(使用?)

Make parts of imported identifiers visible to an importer (using?)

在 nim 的模块中,当我们导入时,只有 public 个导入的标识符可以访问。
说:
A.nim

import bird
proc shit*(): auto = "yuk"

B.nim

import A
echo shit()

到目前为止一切都很好,但现在看:

A.nim

from bird import guano
proc shit*(smell: guano): auto = "yuk"

B.nim

import A
echo shit(guano())

结果是

b.nim(2, 11) Error: undeclared identifier: 'guano'

这需要我们:
B.nim

import a, bird
echo shit(guano())

现在可以了。
但是,我们无法知道模块的导入要求列表是什么?
拥有类似的东西将是 überpawa:
A.nim

from bird import guano
export guano  # imaginary syntax
proc shit*(smell: guano): auto = "yuk"

在 C++ 中,它看起来像 class 中的 using base::member 以使类型定义可见。
怎么办?

您可以手动 export 单个符号。看起来不是很虚构的语法。