Fix world age issue in BNG parameter parsing #143
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixed
UndefVarError: kp1 not definedin BNG Birth-Death Test by resolving a world age issue when accessing parameter variables from a dynamically created module.Changes Made
exprs_to_defs()function signature to accept parameters as a direct argumentgetproperty(opmod, psym)with direct parameter lookup using a mapping dictionaryloadrxnetwork()to pass the parameters argumentRoot Cause
The error occurred because the code tried to access parameter variables from a dynamically created module using
getproperty(opmod, psym), but there was a world age mismatch preventing access to the newly defined variables in the module.Solution
Instead of trying to retrieve parameters from the module, we now pass the already-created parameter variables directly to the function and use a simple dictionary lookup:
psym_to_pvar = Dict(nameof(p) => p for p in ps).Test Results
Test Plan
test_nullrxs_odes.jl)🤖 Generated with Claude Code