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

Try to remove likely-unused codepath in codegen for :method #55532

Merged
merged 1 commit into from
Aug 27, 2024

Conversation

Keno
Copy link
Member

@Keno Keno commented Aug 20, 2024

This codepath is odd. It derives a method name from the slotname metadata and then does an implicit assignment to that slot. Worse, as the comment indicates, the codepath is missing from the interpreter, which will crash if it were to ever encounter such a piece of code. I suspect this pattern is unused - I accidentally broke it badly in (the as of yet unmerged PR) #54788 and neither tests nor pkgeval noticed. So let's try removing it on master. If it turns out something does depend on it, we can go the opposite way and implement it properly in all the places that look at :method.

This codepath is odd. It derives a method name from the slotname
metadata and then does an implicit assignment to that slot. Worse,
as the comment indicates, the codepath is missing from the interpreter,
which will crash if it were to ever encounter such a piece of code.
I suspect this pattern is unused - I accidentally broke it badly
in (the as of yet unmerged PR) #54788 and neither tests nor pkgeval
noticed. So let's try removing it on master. If it turns out something
does depend on it, we can go the opposite way and implement it properly
in all the places that look at :method.
@gbaraldi
Copy link
Member

Should we replace this with an assertion that always triggers and run a pkgeval to make sure?

@Keno
Copy link
Member Author

Keno commented Aug 20, 2024

The fallback path emits a runtime error. Yes to pkgeval once ci is through.

@Keno
Copy link
Member Author

Keno commented Aug 20, 2024

@nanosoldier runtests()

@nanosoldier
Copy link
Collaborator

The package evaluation job you requested has completed - possible new issues were detected.
The full report is available.

@Keno Keno merged commit f457a75 into master Aug 27, 2024
6 of 8 checks passed
@Keno Keno deleted the kf/methvestigial branch August 27, 2024 16:25
udesou pushed a commit to udesou/julia that referenced this pull request Aug 28, 2024
…g#55532)

This codepath is odd. It derives a method name from the slotname
metadata and then does an implicit assignment to that slot. Worse, as
the comment indicates, the codepath is missing from the interpreter,
which will crash if it were to ever encounter such a piece of code. I
suspect this pattern is unused - I accidentally broke it badly in (the
as of yet unmerged PR) JuliaLang#54788 and neither tests nor pkgeval noticed. So
let's try removing it on master. If it turns out something does depend
on it, we can go the opposite way and implement it properly in all the
places that look at :method.
KristofferC pushed a commit that referenced this pull request Sep 12, 2024
This codepath is odd. It derives a method name from the slotname
metadata and then does an implicit assignment to that slot. Worse, as
the comment indicates, the codepath is missing from the interpreter,
which will crash if it were to ever encounter such a piece of code. I
suspect this pattern is unused - I accidentally broke it badly in (the
as of yet unmerged PR) #54788 and neither tests nor pkgeval noticed. So
let's try removing it on master. If it turns out something does depend
on it, we can go the opposite way and implement it properly in all the
places that look at :method.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants