Skip to content

Commit 6d84f52

Browse files
committed
Address review comments
1 parent 710e13d commit 6d84f52

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

compiler/src/dotty/tools/dotc/transform/LazyVals.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ class LazyVals extends MiniPhase with IdentityDenotTransformer {
6262
def transformLazyVal(tree: ValOrDefDef)(implicit ctx: Context): Tree = {
6363
val sym = tree.symbol
6464
if (!(sym is Flags.Lazy) ||
65-
sym.owner.is(Flags.Trait) ||
66-
(sym.isStatic && sym.is(Flags.Module, butNot = Flags.Method)))
65+
sym.owner.is(Flags.Trait) || // val is accessor, lazy field will be implemented in subclass
66+
(sym.isStatic && sym.is(Flags.Module, butNot = Flags.Method))) // static module vals are implemented in the JVM by lazy loading
6767
tree
6868
else {
6969
val isField = sym.owner.isClass
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
object Test extends App {
2+
3+
implicit def _1: Long = 1L
4+
implicit def _2: Int = 0
5+
6+
println(implicitly[AnyVal])
7+
}

tests/run/i3634.scala renamed to tests/run/i3624.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ trait T {
33
}
44

55
object Bar extends T
6+
object Baz extends T
67

78
object Test {
89
def main(args: Array[String]): Unit = {
9-
assert(Bar.Foo == Bar.Foo) // false
10+
assert(Bar.Foo eq Bar.Foo)
11+
assert(Bar.Foo ne Baz.Foo)
1012
}
1113
}

0 commit comments

Comments
 (0)