是否可以在 Scala 3 中导出***不透明类型?

Posted

技术标签:

【中文标题】是否可以在 Scala 3 中导出***不透明类型?【英文标题】:Is it possible to export top level Opaque Types in Scala 3? 【发布时间】:2021-08-29 15:50:38 【问题描述】:

我正在使用 Scala 3 功能 Export Clauses。

一切正常,除了不透明类型

我找不到对它们的任何限制。 我的不透明类型:

opaque type BpmnPath = String

object BpmnPath:
  def apply(path: String): BpmnPath = path

我的出口:

package camundala

export model.BpmnPath

用法:

package camundala
package dsl

trait DSL :

  def path(pathStr: String): BpmnPath =
    BpmnPath(pathStr)

这给了我以下例外:

Found:    camundala.model.exports$package.BpmnPath
Required: camundala.BpmnPath²

where:    BpmnPath  is a type in package object exports$package
          BpmnPath² is a type in package object exports$package which is an alias of camundala.model.BpmnPath

【问题讨论】:

【参考方案1】:

我在Scala Contributor Forum上问了这个问题。

原来这是一个用3.0.1-RC1 修复的错误。

【讨论】:

以上是关于是否可以在 Scala 3 中导出***不透明类型?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在也具有 IPC 挂钩的 node.js 文件中导出类?

是否可以在 DLL 中导出具有 C 链接的 C++ 成员方法?

是否可以在 joomla 2.5 中导出已安装的组件?

是否可以 module.exports 从异步函数中导出局部变量?

是否可以使用 jsfl 从 flash 库中导出声音文件?

如何知道 Spark 使用 Scala 推断出的 RDD 类型是啥