Skip to content

Commit 7d57d29

Browse files
committed
Make Valid and Fail case classes
That ensures Ok(x) == Ok(x) Err(y) == Err(y)
1 parent cd3d5d3 commit 7d57d29

4 files changed

Lines changed: 11 additions & 3 deletions

File tree

library/src/scala/magic/runtime/Fail.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,4 @@ package scala.magic.runtime
33
import annotation.experimental
44

55
@experimental
6-
class Fail[+E](val elem: E):
7-
override def toString = s"Fail($elem)"
6+
case class Fail[+E](elem: E)

library/src/scala/magic/runtime/Valid.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ package scala.magic.runtime
33
import annotation.experimental
44

55
@experimental
6-
class Valid(val elem: Any)
6+
case class Valid(elem: Any)

tests/pos/maybe-translation.scala renamed to tests/run-bootstrapped/maybe-translation.scala

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,3 +95,11 @@ def baz(x: Int ? String) =
9595
}
9696
):Object:Object
9797
*/
98+
99+
@main def Test =
100+
assert(foo(6) == 6)
101+
assert(foo(11) == null)
102+
assert(bar(6) == 6)
103+
assert(bar(-1) == null)
104+
assert(baz(6) == 6)
105+
assert(baz(-1) == Err("not positive"), baz(-1))

tests/run/i1773-maybe.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
//> using options -Yexplicit-nulls
22
import language.experimental.magic
3+
import language.implicitConversions
34
object Test {
45
into class Foo(sc: StringContext) {
56
object q {

0 commit comments

Comments
 (0)