Build failure: TuiEvent::Mouse pattern not covered in update_prompt.rs
Resolved 💬 1 comment Opened Dec 16, 2025 by hweihwang Closed Dec 16, 2025
Description
Building codex-rs from source fails with a compilation error due to a missing match arm for TuiEvent::Mouse(_) in tui2/src/update_prompt.rs.
Error Message
error[E0004]: non-exhaustive patterns: `TuiEvent::Mouse(_)` not covered
--> tui2/src/update_prompt.rs:57
|
57 | match event {
| ^^^^^ pattern `TuiEvent::Mouse(_)` not covered
|
note: `TuiEvent` defined here
--> tui2/src/tui.rs:122:10
|
122 | pub enum TuiEvent {
| ^^^^^^^^
...
126 | Mouse(crossterm::event::MouseEvent),
| ----- not covered
= note: the matched value is of type `TuiEvent`
Root Cause
PR #7601 added the TuiEvent::Mouse(crossterm::event::MouseEvent) variant to the TuiEvent enum, but the match statement in update_prompt.rs (lines 52-60) was not updated to handle this new variant.
Affected Code
codex-rs/tui2/src/update_prompt.rs lines 52-60:
match event {
TuiEvent::Key(key_event) => screen.handle_key(key_event),
TuiEvent::Paste(_) => {},
TuiEvent::Draw => {
tui.draw(u16::MAX, |frame| {
frame.render_widget_ref(&screen, frame.area());
})?;
}
// Missing: TuiEvent::Mouse(_) => {}
}
Suggested Fix
Add the missing TuiEvent::Mouse(_) case (can be ignored since the update prompt doesn't need mouse interaction):
TuiEvent::Mouse(_) => {}
Other similar files like model_migration.rs and skill_error_prompt.rs already have this pattern.
Environment
- Building from
mainbranch - macOS / Darwin
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗