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

Improve support for recursive lazy paraemeters #474

Merged
merged 3 commits into from
Dec 17, 2023
Merged

Improve support for recursive lazy paraemeters #474

merged 3 commits into from
Dec 17, 2023

Conversation

ajalt
Copy link
Owner

@ajalt ajalt commented Dec 17, 2023

Allow lazy options and arguments to reference parameters from groups, and allow unlimited recursion.

The way we support parameters referencing other parameters is by collecting any parameters that
failed to finalize and finalizing them again after all other parameters have succeeded.

Prior to this PR, we finalized options, groups, and arguments in separate passes. These passes were
interleaved and carefully ordered to work correctly.

This PR does away with the manual pass ordering and instead finalizes all parameters repeatedly,
iterating until a fixed point is reached.

Fixes #473

@ajalt ajalt enabled auto-merge (squash) December 17, 2023 19:34
@ajalt ajalt merged commit 5cead33 into master Dec 17, 2023
3 checks passed
@ajalt ajalt deleted the retry-groups branch December 17, 2023 19:39
@ajalt ajalt mentioned this pull request Apr 1, 2024
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.

Can't use option inside option group in defaultLazy
1 participant