@@ -300,9 +300,10 @@ extends NotFoundMsg(MissingIdentID) {
300300class TypeMismatch (val found : Type , expected : Type , val inTree : Option [untpd.Tree ], addenda : => String * )(using Context )
301301 extends TypeMismatchMsg (found, expected)(TypeMismatchID ):
302302
303- private var shouldSuggestNN = false
304- // Ensures that shouldSuggestNN will always be correctly computed before `actions` is called
305- msg
303+ private val shouldSuggestNN =
304+ if expected.isValueType then
305+ found frozen_<:< OrNull (expected)
306+ else false
306307
307308 def msg (using Context ) =
308309 // replace constrained TypeParamRefs and their typevars by their bounds where possible
@@ -348,7 +349,6 @@ class TypeMismatch(val found: Type, expected: Type, val inTree: Option[untpd.Tre
348349 val (found2, expected2) =
349350 if (found1 frozen_<:< expected1) || reported.fbounded then (found, expected)
350351 else (found1, expected1)
351- if found2 frozen_<:< OrNull (expected) then shouldSuggestNN = true
352352 val (foundStr, expectedStr) = Formatting .typeDiff(found2.normalized, expected2.normalized)
353353 i """ |Found: $foundStr
354354 |Required: $expectedStr${reported.notes}"""
@@ -372,7 +372,7 @@ class TypeMismatch(val found: Type, expected: Type, val inTree: Option[untpd.Tre
372372 val content = tree.source.content().slice(tree.srcPos.startPos.start, tree.srcPos.endPos.end).mkString
373373 val replacement = tree match
374374 case a @ Apply (fun, args) => " (" + content + " ).nn"
375- case _ => content
375+ case _ => content + " .nn "
376376 List (
377377 CodeAction (title = """ Add .nn""" ,
378378 description = None ,
0 commit comments