Refactor: Enforce Result and Typed Errors in Climate and Clinical Trials #352
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.
This PR refactors the
climateandclinical_trialsmodules to improve error handling and safety.Key Changes:
Climate Module:
ClimateErrorenum for structured error handling.mse_lossandearth_movers_distanceto returnResultinstead of panicking on dimension mismatch or invalid data.Cera::newandCeraTrainer::trainto propagate errors.unwrap()usage inearth_movers_distanceby usingtotal_cmp.Clinical Trials Module:
AllocationStrategytrait to returnResult<Vec<Group>, ClinicalTrialError>instead ofResult<..., String>.SimpleRandomizerandBlockRandomizerto implementation this new signature.These changes eliminate several potential panics and replace "stringly typed" errors with proper Rust error types, aligning with the project's refactoring goals.
PR created automatically by Jules for task 9569915157609649907 started by @fderuiter