diff options
author | Martin Odersky <odersky@gmail.com> | 2016-05-06 19:06:57 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2016-05-23 16:11:45 +0200 |
commit | bfe9faa637bce1fc499a33beb979ce9dcd35e983 (patch) | |
tree | 5de21c1dedabb974987ba663cbfb7b04d6802b45 /src/scala/Eq.scala | |
parent | 7a264eee7c903295693ea14e075267dfceea8db9 (diff) | |
download | dotty-bfe9faa637bce1fc499a33beb979ce9dcd35e983.tar.gz dotty-bfe9faa637bce1fc499a33beb979ce9dcd35e983.tar.bz2 dotty-bfe9faa637bce1fc499a33beb979ce9dcd35e983.zip |
Make Eq contravariant
(and add it to commit set).
Diffstat (limited to 'src/scala/Eq.scala')
-rw-r--r-- | src/scala/Eq.scala | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/scala/Eq.scala b/src/scala/Eq.scala new file mode 100644 index 000000000..697ec4318 --- /dev/null +++ b/src/scala/Eq.scala @@ -0,0 +1,17 @@ +package scala + +/** A marker class indicating that values of kind `T` can be compared. */ +class Eq[-L, -R] + +/** Besides being a companion object, this object + * can also be used as a value that's compatible with + * any instance of `Eq`. + */ +object Eq extends Eq[Any, Any] { + + /** An implicit that provides an `Eq` instance for all types `T` + * such that `T <: EqClass[T]`. + */ + implicit def eqAny[L, R]: Eq[L, R] = Eq +} + |