类型类优先级

顶点着色器

我遇到的情况是我的类型类的参数必须是互变的。如果我为基类和子类都定义了一个隐式对象,则会收到“模棱两可”的错误,它不知道选择哪个隐式对象。有没有办法确定隐式对象的优先级?我已经看到了隐式转换的优先级示例,但没有看到类型类的优先级示例。谢谢

trait Coded[-X] { // contravariant
   val x: Int
}

def printCode[O1](p1: O1)(implicit ev: Coded[O1]) =
    println(ev.x)

class Baseclass
class Subclass extends Baseclass

object TEST {
  implicit object code1 extends Coded[Baseclass] { val x = 5 }
  implicit object code2 extends Coded[Subclass ] { val x = 6 }
}

import TEST._

printCode(new Subclass) // error: ambiguous
被骗

你的意思是?

scala> trait Low { implicit object code1 extends Coded[Baseclass] { val x = 5 } }
defined trait Low

scala> object TEST extends Low { implicit object code2 extends Coded[Subclass ] { val x = 6 } }
defined object TEST

scala> import TEST._
import TEST._

scala> printCode(new Subclass)
6

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CSS类优先级

来自分类Dev

AngularJS类的类顺序/优先级

来自分类Dev

TypeScript运算符优先级表(或类型断言的优先级是什么?)

来自分类Dev

C ++模板中的类型优先级和整数类型

来自分类Dev

C ++模板中的类型优先级和整数类型

来自分类Dev

添加动态类时的CSS类优先级

来自分类Dev

添加动态类时的CSS类优先级

来自分类Dev

Python优先级

来自分类Dev

OCaml优先级

来自分类Dev

OnClickListener优先级?

来自分类Dev

OCaml优先级

来自分类Dev

iptables优先级

来自分类Dev

如何确定隐式类型转换优先级?

来自分类Dev

T-SQL中数字类型的优先级

来自分类Dev

Haskell类型运算符优先级

来自分类Dev

类型转换运算符优先级

来自分类Dev

返回中的C ++类型转换优先级

来自分类Dev

使用auto时,类型推导哪些优先级?

来自分类Dev

同类型的 UIGestureRecognizer 怎么指定优先级?

来自分类Dev

TestNG中具有多个类的优先级

来自分类Dev

更改Java类加载器的优先级

来自分类Dev

如何确定最近添加的类的背景颜色的优先级

来自分类Dev

更改Java类加载器的优先级

来自分类Dev

使用类优先级优化输入图像

来自分类Dev

Kubernetes 1.8.10 kube-apiserver 优先级类错误

来自分类Dev

如果多个元素具有相同的优先级,Python中是否有“ Lifo”类型的优先级队列?

来自分类Dev

提高asio优先级和优先级

来自分类Dev

Python:以时间为优先级的优先级队列

来自分类Dev

增加优先级队列中的优先级