File tree 3 files changed +15
-2
lines changed
compiler/src/dotty/tools/dotc/typer
3 files changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -162,7 +162,7 @@ trait TypeAssigner {
162
162
val qualType = qual.tpe.widenIfUnstable
163
163
def kind = if tree.isType then " type" else " value"
164
164
val foundWithoutNull = qualType match
165
- case OrNull (qualType1) =>
165
+ case OrNull (qualType1) if qualType1 <:< defn. ObjectType =>
166
166
val name = tree.name
167
167
val pre = maybeSkolemizePrefix(qualType1, name)
168
168
reallyExists(qualType1.findMember(name, pre))
Original file line number Diff line number Diff line change
1
+ case class MyVal (i : Int ) extends AnyVal :
2
+ def printVal : Unit =
3
+ println(i)
4
+
5
+ class Test :
6
+ val v : MyVal | Null = MyVal (1 )
7
+
8
+ def f1 =
9
+ v.printVal // error: value printVal is not a member of MyVal | Null
10
+
11
+ def f1 =
12
+ import scala .language .unsafeNulls
13
+ v.printVal // error: value printVal is not a member of MyVal | Null
Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ def test2 =
8
8
if v != null then
9
9
println(v)
10
10
11
- case class MyVal (val i : Boolean ) extends AnyVal
11
+ case class MyVal (i : Boolean ) extends AnyVal
12
12
13
13
def test3 =
14
14
val v : MyVal | Null = MyVal (false )
You can’t perform that action at this time.
0 commit comments