模块 A 导入模块 B 和 C
模块 B 导入实例 X
模块 C 导入实例 Y
X 和 Y 是公共类型类的实例。
实例 X 和 Y 的类型相同,即完全重叠。
当我分别使用 B 或 C 时,一切正常。当我导入它们(在 A 中)进行一些比较测试(或基准测试)时,我在 C 中得到一个重叠实例错误,说 X 和 Y 都匹配。
这让我感到困惑,因为从 C 到 X 的唯一路径是:C -> A -> B
. 这是应该的吗?另外,有没有办法解决这个问题?我可以接受肮脏的黑客攻击,因为这两个实例在正常情况下从不一起使用。特别是,我不想介绍幻像类型等。