@@ -300,9 +300,10 @@ extends NotFoundMsg(MissingIdentID) {
300
300
class TypeMismatch (val found : Type , expected : Type , val inTree : Option [untpd.Tree ], addenda : => String * )(using Context )
301
301
extends TypeMismatchMsg (found, expected)(TypeMismatchID ):
302
302
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
306
307
307
308
def msg (using Context ) =
308
309
// 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
348
349
val (found2, expected2) =
349
350
if (found1 frozen_<:< expected1) || reported.fbounded then (found, expected)
350
351
else (found1, expected1)
351
- if found2 frozen_<:< OrNull (expected) then shouldSuggestNN = true
352
352
val (foundStr, expectedStr) = Formatting .typeDiff(found2.normalized, expected2.normalized)
353
353
i """ |Found: $foundStr
354
354
|Required: $expectedStr${reported.notes}"""
@@ -372,7 +372,7 @@ class TypeMismatch(val found: Type, expected: Type, val inTree: Option[untpd.Tre
372
372
val content = tree.source.content().slice(tree.srcPos.startPos.start, tree.srcPos.endPos.end).mkString
373
373
val replacement = tree match
374
374
case a @ Apply (fun, args) => " (" + content + " ).nn"
375
- case _ => content
375
+ case _ => content + " .nn "
376
376
List (
377
377
CodeAction (title = """ Add .nn""" ,
378
378
description = None ,
0 commit comments