From 27c961ee7bee5c775e1902e59f74a9871d31321d Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 24 Jun 2026 00:49:51 +0900 Subject: feat(question): model Question hierarchy via QuestionInterface trait Introduce a QuestionInterface trait that the base Question and all its subclasses (ChoiceQuestion, ConfirmationQuestion, StrictConfirmationQuestion) implement, with as_choice/as_confirmation downcasts standing in for PHP's instanceof. Consumers (QuestionHelper, SymfonyQuestionHelper, SymfonyStyle, ConsoleIO) now take a QuestionInterface boundary generically. This fixes the instanceof emulation, which previously went through as_any().downcast_ref on a concrete &Question and always returned None, and unblocks the select/confirm/choice paths that were left as todo!() because a polymorphic ChoiceQuestion/ConfirmationQuestion could not be passed to ask. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../shirabe-external-packages/src/symfony/console/question/mod.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'crates/shirabe-external-packages/src/symfony/console/question/mod.rs') diff --git a/crates/shirabe-external-packages/src/symfony/console/question/mod.rs b/crates/shirabe-external-packages/src/symfony/console/question/mod.rs index 06e0c2c..06d03b4 100644 --- a/crates/shirabe-external-packages/src/symfony/console/question/mod.rs +++ b/crates/shirabe-external-packages/src/symfony/console/question/mod.rs @@ -1,6 +1,6 @@ -pub mod choice_question; -pub mod confirmation_question; -pub mod question; +mod choice_question; +mod confirmation_question; +mod question; pub use choice_question::*; pub use confirmation_question::*; -- cgit v1.3.1