File tree Expand file tree Collapse file tree 11 files changed +38
-38
lines changed Expand file tree Collapse file tree 11 files changed +38
-38
lines changed Original file line number Diff line number Diff line change 1
1
-- Error: tests/init/neg/closureLeak.scala:11:14 -----------------------------------------------------------------------
2
2
11 | l.foreach(a => a.addX(this)) // error
3
3
| ^^^^^^^^^^^^^^^^^
4
- | Cannot prove the argument is fully initialized . Only fully initialized values are safe to leak.
4
+ | Cannot prove the method argument is hot . Only hot values are safe to leak.
5
5
| Found = Fun { this = ThisRef[class Outer], owner = class Outer }. Calling trace:
6
6
| -> class Outer { [ closureLeak.scala:1 ]
7
7
| ^
8
8
| -> l.foreach(a => a.addX(this)) // error [ closureLeak.scala:11 ]
9
9
| ^^^^^^^^^^^^^^^^^
10
10
|
11
- | Promoting the value to fully initialized failed due to the following problem:
12
- | Cannot prove the argument is fully initialized . Only fully initialized values are safe to leak.
11
+ | Promoting the value to hot failed due to the following problem:
12
+ | Cannot prove the method argument is hot . Only hot values are safe to leak.
13
13
| Found = ThisRef[class Outer].
14
14
| Non initialized field(s): value p. Calling trace:
15
15
| -> l.foreach(a => a.addX(this)) // error [ closureLeak.scala:11 ]
Original file line number Diff line number Diff line change 1
1
-- Error: tests/init/neg/cycle-structure.scala:3:13 --------------------------------------------------------------------
2
2
3 | val x = B(this) // error
3
3
| ^^^^^^^
4
- | Problematic object instantiation: arg 1 is not fully initialized . Calling trace:
4
+ | Problematic object instantiation: arg 1 is not hot . Calling trace:
5
5
| -> case class A(b: B) { [ cycle-structure.scala:1 ]
6
6
| ^
7
7
| -> val x = B(this) // error [ cycle-structure.scala:3 ]
16
16
-- Error: tests/init/neg/cycle-structure.scala:9:13 --------------------------------------------------------------------
17
17
9 | val x = A(this) // error
18
18
| ^^^^^^^
19
- | Problematic object instantiation: arg 1 is not fully initialized . Calling trace:
19
+ | Problematic object instantiation: arg 1 is not hot . Calling trace:
20
20
| -> case class B(a: A) { [ cycle-structure.scala:7 ]
21
21
| ^
22
22
| -> val x = A(this) // error [ cycle-structure.scala:9 ]
Original file line number Diff line number Diff line change 1
1
-- Error: tests/init/neg/default-this.scala:9:8 ------------------------------------------------------------------------
2
2
9 | compare() // error
3
3
| ^^^^^^^
4
- | Cannot prove the argument is fully initialized . Only fully initialized values are safe to leak.
4
+ | Cannot prove the method argument is hot . Only hot values are safe to leak.
5
5
| Found = ThisRef[class B].
6
6
| Non initialized field(s): value result. Calling trace:
7
7
| -> class B extends A { [ default-this.scala:6 ]
Original file line number Diff line number Diff line change 1
1
-- Error: tests/init/neg/i15363.scala:3:10 -----------------------------------------------------------------------------
2
2
3 | val b = new B(this) // error
3
3
| ^^^^^^^^^^^
4
- | Problematic object instantiation: arg 1 is not fully initialized . Calling trace:
4
+ | Problematic object instantiation: arg 1 is not hot . Calling trace:
5
5
| -> class A: [ i15363.scala:1 ]
6
6
| ^
7
7
| -> val b = new B(this) // error [ i15363.scala:3 ]
Original file line number Diff line number Diff line change 1
1
-- Error: tests/init/neg/i15459.scala:3:10 -----------------------------------------------------------------------------
2
2
3 | println(this) // error
3
3
| ^^^^
4
- | Cannot prove the argument is fully initialized . Only fully initialized values are safe to leak.
4
+ | Cannot prove the method argument is hot . Only hot values are safe to leak.
5
5
| Found = ThisRef[class Sub].
6
6
| Non initialized field(s): value b. Calling trace:
7
7
| -> class Sub extends Sup: [ i15459.scala:5 ]
Original file line number Diff line number Diff line change 1
1
-- Error: tests/init/neg/inherit-non-hot.scala:6:32 --------------------------------------------------------------------
2
2
6 | if b == null then b = new B(this) // error
3
3
| ^^^^^^^^^^^^^^^
4
- |The RHS of reassignment must be fully initialized . Found = Warm[class B] { outer = Hot, args = (Cold) }. Calling trace:
5
- |-> class C extends A { [ inherit-non-hot.scala:15 ]
6
- | ^
7
- |-> val bAgain = toB.getBAgain [ inherit-non-hot.scala:16 ]
8
- | ^^^
9
- |-> def toB: B = [ inherit-non-hot.scala:5 ]
10
- | ^
11
- |-> if b == null then b = new B(this) // error [ inherit-non-hot.scala:6 ]
12
- | ^^^^^^^^^^^^^^^
4
+ | The RHS of reassignment must be hot . Found = Warm[class B] { outer = Hot, args = (Cold) }. Calling trace:
5
+ | -> class C extends A { [ inherit-non-hot.scala:15 ]
6
+ | ^
7
+ | -> val bAgain = toB.getBAgain [ inherit-non-hot.scala:16 ]
8
+ | ^^^
9
+ | -> def toB: B = [ inherit-non-hot.scala:5 ]
10
+ | ^
11
+ | -> if b == null then b = new B(this) // error [ inherit-non-hot.scala:6 ]
12
+ | ^^^^^^^^^^^^^^^
13
13
|
14
- |Promoting the value to fully initialized failed due to the following problem:
15
- |Cannot prove that the field value a is fully initialized . Found = Cold.
14
+ | Promoting the value to hot failed due to the following problem:
15
+ | Cannot prove that the field value a is hot . Found = Cold.
Original file line number Diff line number Diff line change 1
1
-- Error: tests/init/neg/inlined-method.scala:8:45 ---------------------------------------------------------------------
2
2
8 | scala.runtime.Scala3RunTime.assertFailed(message) // error
3
3
| ^^^^^^^
4
- | Cannot prove the argument is fully initialized . Only fully initialized values are safe to leak.
5
- | Found = ThisRef[class InlineError].
6
- | Non initialized field(s): value v. Calling trace:
7
- | -> class InlineError { [ inlined-method.scala:1 ]
8
- | ^
9
- | -> Assertion.failAssert(this) [ inlined-method.scala:2 ]
10
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^
11
- | -> scala.runtime.Scala3RunTime.assertFailed(message) // error [ inlined-method.scala:8 ]
12
- | ^^^^^^^
4
+ | Cannot prove the method argument is hot . Only hot values are safe to leak.
5
+ | Found = ThisRef[class InlineError].
6
+ | Non initialized field(s): value v. Calling trace:
7
+ | -> class InlineError { [ inlined-method.scala:1 ]
8
+ | ^
9
+ | -> Assertion.failAssert(this) [ inlined-method.scala:2 ]
10
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^
11
+ | -> scala.runtime.Scala3RunTime.assertFailed(message) // error [ inlined-method.scala:8 ]
12
+ | ^^^^^^^
Original file line number Diff line number Diff line change 1
1
-- Error: tests/init/neg/inner-first.scala:3:12 ------------------------------------------------------------------------
2
2
3 | println(this) // error
3
3
| ^^^^
4
- | Cannot prove the argument is fully initialized . Only fully initialized values are safe to leak.
4
+ | Cannot prove the method argument is hot . Only hot values are safe to leak.
5
5
| Found = ThisRef[class B].
6
6
| Non initialized field(s): value n. Calling trace:
7
7
| -> class B: [ inner-first.scala:2 ]
Original file line number Diff line number Diff line change 1
1
-- Error: tests/init/neg/promotion-loop.scala:16:10 --------------------------------------------------------------------
2
2
16 | println(b) // error
3
3
| ^
4
- | Cannot prove the argument is fully initialized . Only fully initialized values are safe to leak.
4
+ | Cannot prove the method argument is hot . Only hot values are safe to leak.
5
5
| Found = Warm[class B] { outer = ThisRef[class Test] }. Calling trace:
6
6
| -> class Test { test => [ promotion-loop.scala:1 ]
7
7
| ^
8
8
| -> println(b) // error [ promotion-loop.scala:16 ]
9
9
| ^
10
10
|
11
- | Promoting the value to fully initialized failed due to the following problem:
12
- | Cannot prove that the field value outer is fully initialized . Found = ThisRef[class Test].
11
+ | Promoting the value to hot failed due to the following problem:
12
+ | Cannot prove that the field value outer is hot . Found = ThisRef[class Test].
13
13
| Non initialized field(s): value n.
Original file line number Diff line number Diff line change 1
1
-- Error: tests/init/neg/secondary-ctor4.scala:54:14 -------------------------------------------------------------------
2
2
54 | val c = new C(b, 5) // error
3
3
| ^^^^^^^^^^^
4
- | Problematic object instantiation: arg 1 is not fully initialized . Calling trace:
4
+ | Problematic object instantiation: arg 1 is not hot . Calling trace:
5
5
| -> class D { [ secondary-ctor4.scala:52 ]
6
6
| ^
7
7
| -> val c = new C(b, 5) // error [ secondary-ctor4.scala:54 ]
24
24
-- Error: tests/init/neg/secondary-ctor4.scala:42:4 --------------------------------------------------------------------
25
25
42 | new A(new B(new D)) // error
26
26
| ^^^^^^^^^^^^^^^^^^^
27
- | Problematic object instantiation: the outer M.this and arg 1 are not fully initialized . Calling trace:
27
+ | Problematic object instantiation: the outer M.this and arg 1 are not hot . Calling trace:
28
28
| -> class N(d: D) extends M(d) { [ secondary-ctor4.scala:59 ]
29
29
| ^
30
30
| -> def this(d: D) = { [ secondary-ctor4.scala:7 ]
You can’t perform that action at this time.
0 commit comments