Open MichaelMitchell-at opened 3 months ago
IIRC we've tried to fix this particular thing multiple times now (at least for declaration emit), and have ended up just reverting all of the code that tries to elide these as the effort was just far too error-fraught.
See also:
Maybe we can do better in the quick fix? But, then the quick fix would produce a result that differs from declaration emit via inference. It just seems like exactly the same problem space.
π Search Terms
isolated declarations quick fix rename ts2842 ts9007
π Version & Regression Information
β― Playground Link
https://www.typescriptlang.org/play/?isolatedDeclarations=true&ts=5.6.0-dev.20240807#code/KYDwDg9gTgLgBAMwK4DsDGMCWEWIBQCUcA3gFBwVxTAxJS5x57ECGAXHAEYC+HrHABm4EOANwiYAJnAC8APhLCAhAG5S3IA
π» Code
π Actual behavior
Quick fix introduces a type error:
π Expected behavior
Additional information about the issue
While the quick fix is consistent with the emitted declaration, it ideally wouldn't lead to another type error which can be avoided. There are cases where it may make sense to preserve the renaming, most obviously
but also perhaps
though, maybe surprisingly, this would currently this still result in ts(2842)
Perhaps this could be relaxed. While
b
is unused in the direct sense, it technically has value in that it avoids the naming collision between thea
s.