incorrect diagnostic: `using a '.' after a '?.' might fail`
vegerot opened this issue · 3 comments
vegerot commented
minimal example:
undefined?.a.b
quick-lint reports: using a '.' after a '?.' might fail, since '?.' might return 'undefined'.
, however this is not true.
Running the above code shows that optional chaining short-circuits the entire property access expression to undefined
, not just the first property access.
❯ deno
Deno 1.39.4
exit using ctrl+d, ctrl+c, or close()
REPL is running with all permissions allowed.
To specify permissions, run `deno repl` with allow flags.
> undefined?.a.b.c.d
undefined
idk if there's a "correct" version of this diagnostic, or if we should just delete the whole thing
vegerot commented
A better version of this diagnostic would be to check for non-null assertions, which are incorrect.
undefined?.a!.b
strager commented
Fix released in version 3.2.0.