From 3c39377b0c419dd4cc792aef926032b15c12b69f Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 25 Jul 2026 23:25:25 +0900 Subject: fix(package-discovery): pass IO so platform requirement warnings surface findBestVersionForPackage is the only findBestCandidate() caller that PHP hands $this->getIO() to; the port passed None, so VersionSelector silently skipped every "Cannot use as it requires which is missing from your platform" warning. require/update/create-project therefore dropped a candidate without telling the user why. Un-ignores require_command_test::test_require, whose first data-provider case asserts exactly that warning. Co-Authored-By: Claude Opus 5 (1M context) --- crates/shirabe/src/command/package_discovery_trait.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crates/shirabe/src') diff --git a/crates/shirabe/src/command/package_discovery_trait.rs b/crates/shirabe/src/command/package_discovery_trait.rs index 52d0682c..8e34fed0 100644 --- a/crates/shirabe/src/command/package_discovery_trait.rs +++ b/crates/shirabe/src/command/package_discovery_trait.rs @@ -484,7 +484,7 @@ pub trait PackageDiscoveryTrait: BaseCommand { preferred_stability, Some(platform_requirement_filter.clone()), 0, - None, + Some(io.clone()), ShowWarnings::Always, )?; -- cgit v1.3.1