File tree Expand file tree Collapse file tree 2 files changed +31
-3
lines changed
tests/neg-custom-args/captures Expand file tree Collapse file tree 2 files changed +31
-3
lines changed Original file line number Diff line number Diff line change 55 | Required: A
66 |
77 | longer explanation available when compiling with `-explain`
8+ -- [E007] Type Mismatch Error: tests/neg-custom-args/captures/i23207.scala:18:13 ---------------------------------------
9+ 18 | val _: A = c // error
10+ | ^
11+ | Found: (c : B^{b})
12+ | Required: A
13+ |
14+ | longer explanation available when compiling with `-explain`
15+ -- [E007] Type Mismatch Error: tests/neg-custom-args/captures/i23207.scala:23:2 ----------------------------------------
16+ 23 | class B extends A: // error, now we see the error for the whole block since there are no nested errors
17+ | ^
18+ | Found: A^{io}
19+ | Required: A
20+ 24 | val hide: AnyRef^{io} = io
21+ 25 | val b = new B
22+ 26 | val c = b.getBox.x
23+ 27 | c
24+ |
25+ | longer explanation available when compiling with `-explain`
Original file line number Diff line number Diff line change @@ -13,6 +13,16 @@ def leak(io: AnyRef^): A =
1313 val b = new B
1414 val box = b.getBox
1515 val a : A = box.x // error
16- val c = b.getBox.x // now OK
17- val _: B ^ {b} = c
18- c
16+ val c = b.getBox.x
17+ val _: B ^ {b} = c // ok
18+ val _: A = c // error
19+ c // no error here since we don't propagate expected type into the last expression of a block
20+ // and the whole block's span overlaps with previous errors
21+
22+ def leak2 (io : AnyRef ^ ): A =
23+ class B extends A : // error, now we see the error for the whole block since there are no nested errors
24+ val hide : AnyRef ^ {io} = io
25+
26+ val b = new B
27+ val c = b.getBox.x
28+ c
You can’t perform that action at this time.
0 commit comments