问题标签 [scala-3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Scala3 宏调用 TypeTree 的类型类实例(无类型 arg)
给这样Show
的类型类,我想为案例类生成展示,比如
但是该showInstance
部分不会编译,那么如何在Show[X]
这里调用一个隐式?
scala - 具有协方差的交集类型
考虑以下内容:
当我们重写children
inCC
时,被重写的方法是顶级方法的合并实体。因此返回类型List[AA] & List[BB]
是有意义的。
我不明白的是,下面是如何编译的?
List 是协变的,因此(这里是proof的来源):
DD
如果也 只能编译List[AA] & List[BB] <: List[AA & BB]
。这是真的吗?如果是这样,那么不是List[AA] & List[BB] =:= List[AA & BB]
。请建议
在我看来List[AA & BB] =:= List[AA] & List[BB]
。考虑一下:
scala - scala 3宏如何实现通用特征
我想实现proxy
一些特征A
(例如,将方法调用委托给一些 rpc 调用),就像这样
但是编译器抱怨
scala - Scala 3 类型绑定 `<:<` 元组技巧
在在线会话中,Adam Warski 展示了一个技巧来证明元组具有一定的结构:
第一个实现是
这允许(但不应该)
并有技巧地实施
有人可以解释一下如何
有效,为什么T
是 的子类型Map
?
scala - 指定较弱的 Aux 类型绑定不会导致编译错误
这是一个例子:
该示例为Scala 2和Scala 3编译,但似乎没有意义。为什么会编译?
scala - 在 Scala 3 中打印 MirroredElemTypes
我正在尝试修改此标准示例以打印具有类型的值。我被困住了p.MirroredElemTypes
。我还没有找到任何 API 来遍历和字符串化类型。
scala - 是否可以在 Scala 3 中使用类似于打字稿映射类型的另一种类型来包装成员类型?
在打字稿中它看起来像这样
我想拥有
是否有可能在 Scala 3 中实现这样的目标?
scala - scala 3 宏:从宏返回 Map[String, Class[Any]]
我正在尝试针对 scala 3.0.0-M3 编写一个宏。我希望宏返回类型的 Option[_] 字段的内部类型。例如,给定:
我想将 id 与 Int 相关联,并将 bossId 与 Long 相关联。
我有一些代码可以为原始类型执行此操作并且编译正常:
但是如果我尝试使用它,就像这样:
编译器首先打印Map(id -> int, bossId -> long)
,因为宏代码中的 println 看起来不错,但随后失败:
我做错了什么?我不应该能够从宏返回地图,或者不是这样吗?
请注意,我的宏中的 if/else 逻辑并不重要,问题可以简化为(其他一切都相同):
scala - Scala 3 美味的反射宏:CyclicReference
我正在尝试访问作为宏实现的方法的参数。
呼叫站点可能类似于:
现在,CyclicReference
当宏展开时,我在defSym.tree
. 我知道这defSym.tree
是循环的,因为它包含当前扩展宏的代码,但我仍然需要访问方法定义的“树”版本来访问其名称和参数,而不需要方法的主体。我怎样才能在不骑自行车的情况下获得这些信息?
scala - 在 Scala 3.0 中访问注释值
我在 scala 中创建了注释并按如下方式使用它:
getAnnotations
由于它是一个 Scala 注释,另一方面它无法读取scala-reflect
,scala 3.0 不再提供依赖项,因此我们无法访问runtimeMirror
是否有任何替代解决方案来读取 scala 中的注释值?