Skip to content

Commit ef9d827

Browse files
committed
Turn test into a run test
1 parent 4df4e53 commit ef9d827

File tree

2 files changed

+61
-15
lines changed

2 files changed

+61
-15
lines changed

tests/pos/i8931.scala

Lines changed: 0 additions & 15 deletions
This file was deleted.

tests/run/i8931.scala

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
object test1:
2+
3+
trait Trait
4+
5+
trait Managed[T](x: T) {
6+
7+
def flatMap(f: T => Managed[T]): Managed[T] = new Managed[T](x) {
8+
9+
def make() = new Trait {
10+
val t: T = x
11+
val u =
12+
try {
13+
f(t)
14+
} catch {
15+
case e: Exception => ()
16+
}
17+
}
18+
}
19+
}
20+
21+
object test2:
22+
23+
trait Trait
24+
25+
trait Managed[T](x: T) {
26+
def xx = x
27+
28+
def flatMap(f: T => Managed[T]): Managed[T] = new Managed[T](x) {
29+
def make() = new Trait {
30+
val t: T = x
31+
val u = {
32+
def foo = f(t)
33+
assert(foo.xx == 22)
34+
foo
35+
}
36+
}
37+
make()
38+
}
39+
}
40+
41+
object test3:
42+
43+
trait Trait
44+
45+
trait Managed[T]:
46+
47+
def flatMap[U](f: T => Managed[U]) =
48+
class C:
49+
def make() =
50+
class D:
51+
def bar(): T = ???
52+
val t: T = ???
53+
val u =
54+
def foo = (f(t), f(bar()))
55+
foo
56+
new D().u
57+
()
58+
59+
@main def Test() =
60+
val m = new test2.Managed[Int](22) {}
61+
m.flatMap(x => new test2.Managed(x) {})

0 commit comments

Comments
 (0)