GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||
GeezerVison is showing github.com — Fix: Raise SemanticError for unsupported inline class instantiation #2826 by amritamishra01 · Pull Request #2873 · lcompilers/lpython ConversationSummaryHi @swamishiju Fixes #2826 where the compiler hangs (infinite loop) when encountering inline class instantiation, such as The IssueCurrently, the compiler attempts to lower temporary class objects created inline but fails to handle the lifecycle correctly in The FixI implemented a check in the semantic analysis phase (
VerificationI added two new test cases to ensure the fix works and is safe:
Future WorkThis is a safeguard fix. Full support for inline class instantiation will require implementing proper lowering logic for temporary class objects, likely by separating symbol registration from body lowering to handle recursive resolution.
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
Collaborator
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
|
There was an error while loading. Please reload this page.
|
#2875 Should fix it, its a small change so I merged it. In regards to the other PRs you have up you can ask on zulip. You can rebase your branches on top of main to get the CIs working |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Update: Rebased on the latest main and all CI checks are now passing (18/18). I have verified the fix locally and confirmed the tests pass on the CI. This is ready for final review! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
Inplace class definitions causes infinite looping
There was an error while loading. Please reload this page.