Is your enhancement request related to a problem? Please describe.
Currently, the "make imports explicit" option produces something like
import Foo <import Foo (bar, Baz (..))>`
producing an import list like
import Foo (bar, Baz (..))`
I (personally) prefer a fully explicit import list -- one that imports all data constructors.
The primary reason is because it can help greatly in tracking down in-scope names when code is broken and tooling fails.
Thus, I'd prefer
import Foo (bar, Baz (Qux))
Describe the solution you'd like
I would like to see:
An (preferably default) option to do a fully-explicit import for all data constructors
An option (I think these are called lenses or inlay hints?) to turn partially explicit (Bar (..)) imports to fully explicit ones
Describe alternatives you've considered
Alternatives would include:
making this a non-default option,
providing only the two-step behavior of "make partially explicit (Bar (..)); make fully explicit (Bar(Baz))
Is your enhancement request related to a problem? Please describe.
Currently, the "make imports explicit" option produces something like
producing an import list like
I (personally) prefer a fully explicit import list -- one that imports all data constructors. The primary reason is because it can help greatly in tracking down in-scope names when code is broken and tooling fails.
Thus, I'd prefer
Describe the solution you'd like
I would like to see:
Bar (..)
) imports to fully explicit onesDescribe alternatives you've considered
Alternatives would include:
Bar (..)
); make fully explicit (Bar(Baz)
)Additional context
None