Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unnecessary symbol occurrence for new on compound types #2459

Open
tanishiking opened this issue Aug 31, 2021 · 5 comments
Open

Unnecessary symbol occurrence for new on compound types #2459

tanishiking opened this issue Aug 31, 2021 · 5 comments

Comments

@tanishiking
Copy link
Member

Looks like semanticdb randomly(?) extract unnecessary symbol occurrence of new literal for compound types.

val compoundType4/*<=types.Test.C#compoundType4.*/ = new /*<=local2*/{ def k/*<=local3*/: Int/*=>scala.Int#*/ = ???/*=>scala.Predef.`???`().*/ }
val compoundType5/*<=types.Test.C#compoundType5.*/ = new /*<=local4*/M/*=>types.Test.M#*/ with N/*=>types.Test.N#*/
val compoundType6/*<=types.Test.C#compoundType6.*/ = new /*<=local5*/M/*=>types.Test.M#*/ with N/*=>types.Test.N#*/ { def k/*<=local6*/: Int/*=>scala.Int#*/ = ???/*=>scala.Predef.`???`().*/ }

see: #2457 (comment)

@kitbellew
Copy link
Contributor

@tanishiking @tgodzik what's expected here? the /*<=localX*/ notation not added to new Somethingvsnew { .. }, or new Somethingvsnew Something { ... }`?

@tgodzik
Copy link
Collaborator

tgodzik commented Jul 28, 2023

We should not het any of those local symbols local2, local4 and local5 should not be added as occurrences

@kitbellew
Copy link
Contributor

We should not het any of those local symbols local2, local4 and local5 should not be added as occurrences

does that mean you propose to undo #1902 completely? or partially (if so, when)?

@tgodzik
Copy link
Collaborator

tgodzik commented Jul 28, 2023

Och wow, I didn't realize it was me who changed that 😅 I need to figure out why we needed those ocurrences.

@tgodzik
Copy link
Collaborator

tgodzik commented Jul 28, 2023

Och ok, I think this was used to have a position to show the symbol for the implementation of an abstract class. Looks like this should be in the synthetics instead and that would serve us well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants