aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver/solver.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-10 00:54:22 +0900
committernsfisis <nsfisis@gmail.com>2026-06-10 00:54:58 +0900
commite583112899cbea7494ffdd73d7de380dd5f808c4 (patch)
tree1ec002a4d9ab5af5f81ff3bc0ae0ea6a92e44c10 /crates/shirabe/src/dependency_resolver/solver.rs
parent436e12381dd79e419dce755718be17b66d73e17f (diff)
downloadphp-shirabe-e583112899cbea7494ffdd73d7de380dd5f808c4.tar.gz
php-shirabe-e583112899cbea7494ffdd73d7de380dd5f808c4.tar.zst
php-shirabe-e583112899cbea7494ffdd73d7de380dd5f808c4.zip
feat(phase-c): resolve exception-handling phase-b TODOs
* Catch specific exception types instead of broad/placeholder handling. * Drop the shim Countable trait.
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/solver.rs')
-rw-r--r--crates/shirabe/src/dependency_resolver/solver.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/crates/shirabe/src/dependency_resolver/solver.rs b/crates/shirabe/src/dependency_resolver/solver.rs
index 28e1e7f..3d2113e 100644
--- a/crates/shirabe/src/dependency_resolver/solver.rs
+++ b/crates/shirabe/src/dependency_resolver/solver.rs
@@ -274,10 +274,10 @@ impl Solver {
);
if self.problems.len() > 0 {
- // TODO(phase-b): SolverProblemsException stores `Rc<RefCell<Rule>>` which is not
+ // TODO(phase-c): SolverProblemsException stores `Rc<RefCell<Rule>>` which is not
// `Send + Sync`, so it cannot satisfy `anyhow::Error`'s bounds. Returning a
- // placeholder error preserves control flow until the `Send + Sync` requirement
- // is removed (single-threaded `Rc` model) or the exception type is reworked.
+ // placeholder error preserves control flow until the solver error path is reworked to
+ // a dedicated (non-anyhow) error type or the exception drops its dyn Rule payload.
let _ = SolverProblemsException::new(
std::mem::take(&mut self.problems),
std::mem::take(&mut self.learned_pool),