From 7392662eed92f00b41e173809fb51f6a21572003 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 24 Jul 2026 20:23:24 +0900 Subject: fix(solver-problems): preserve first-occurrence order in extension hint create_extension_hint's --ignore-platform-req suggestion list sorted missing extensions alphabetically before deduping. PHP's array_unique removes duplicates while preserving first-occurrence order instead, which for this call site matches the order problems were reported in (root-require-not-found problems before SAT-conflict problems). Replaced the sort+dedup with the existing order-preserving shirabe_php_shim::array_unique, which was already ported for exactly this PHP semantic but wasn't used here. --- crates/shirabe/src/dependency_resolver/solver_problems_exception.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'crates/shirabe/src/dependency_resolver/solver_problems_exception.rs') diff --git a/crates/shirabe/src/dependency_resolver/solver_problems_exception.rs b/crates/shirabe/src/dependency_resolver/solver_problems_exception.rs index 48fe76b3..39f2b2c1 100644 --- a/crates/shirabe/src/dependency_resolver/solver_problems_exception.rs +++ b/crates/shirabe/src/dependency_resolver/solver_problems_exception.rs @@ -134,9 +134,7 @@ impl SolverProblemsException { paths.remove(0); } - let mut unique_extensions: Vec = missing_extensions.to_vec(); - unique_extensions.sort(); - unique_extensions.dedup(); + let unique_extensions = shirabe_php_shim::array_unique(missing_extensions); let ignore_extensions_arguments: String = unique_extensions .iter() .map(|ext| format!("--ignore-platform-req={}", ext)) -- cgit v1.3.1