Skip to content

Commit fa957ca

Browse files
HarrisL2noti0na1
authored andcommitted
Only nullfiy simple kinded types
1 parent f031eab commit fa957ca

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

compiler/src/dotty/tools/dotc/core/ImplicitNullInterop.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,13 @@ object ImplicitNullInterop {
107107
case tp: TypeRef if !tp.hasSimpleKind
108108
// We don't modify value types because they're non-nullable even in Java.
109109
|| tp.symbol.isValueClass
110+
|| tp.isRef(defn.NullClass)
111+
|| tp.isRef(defn.NothingClass)
110112
// We don't modify unit types.
111113
|| tp.isRef(defn.UnitClass)
112114
// We don't modify `Any` because it's already nullable.
113115
|| tp.isRef(defn.AnyClass) => false
116+
case tp: TypeParamRef if !tp.hasSimpleKind => false
114117
case _ => true
115118

116119
// We don't nullify Java varargs at the top level.

0 commit comments

Comments
 (0)