Skip to content

Commit 9187560

Browse files
committed
fix: add .. to Terminal destructuring for musl _pty_guard field
The new _pty_guard field only exists under #[cfg(target_env = "musl")], causing compilation failures on musl when destructuring Terminal without `..` to ignore inaccessible fields. https://claude.ai/code/session_011H8UR3gS6hoyQAf2x7Dfw8
1 parent d28757e commit 9187560

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

crates/pty_terminal/tests/terminal.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ fn is_terminal() {
1616
println!("{} {} {}", stdin().is_terminal(), stdout().is_terminal(), stderr().is_terminal());
1717
}));
1818

19-
let Terminal { mut pty_reader, pty_writer: _pty_writer, child_handle } =
19+
let Terminal { mut pty_reader, pty_writer: _pty_writer, child_handle, .. } =
2020
Terminal::spawn(ScreenSize { rows: 80, cols: 80 }, cmd).unwrap();
2121
let mut discard = Vec::new();
2222
pty_reader.read_to_end(&mut discard).unwrap();
@@ -40,7 +40,7 @@ fn write_basic_echo() {
4040
}
4141
}));
4242

43-
let Terminal { mut pty_reader, mut pty_writer, child_handle } =
43+
let Terminal { mut pty_reader, mut pty_writer, child_handle, .. } =
4444
Terminal::spawn(ScreenSize { rows: 80, cols: 80 }, cmd).unwrap();
4545

4646
pty_writer.write_line(b"hello world").unwrap();
@@ -71,7 +71,7 @@ fn write_multiple_lines() {
7171
}
7272
}));
7373

74-
let Terminal { mut pty_reader, mut pty_writer, child_handle } =
74+
let Terminal { mut pty_reader, mut pty_writer, child_handle, .. } =
7575
Terminal::spawn(ScreenSize { rows: 80, cols: 80 }, cmd).unwrap();
7676

7777
pty_writer.write_line(b"first").unwrap();
@@ -113,7 +113,7 @@ fn write_after_exit() {
113113
print!("exiting");
114114
}));
115115

116-
let Terminal { mut pty_reader, mut pty_writer, child_handle } =
116+
let Terminal { mut pty_reader, mut pty_writer, child_handle, .. } =
117117
Terminal::spawn(ScreenSize { rows: 80, cols: 80 }, cmd).unwrap();
118118

119119
// Read all output - this blocks until child exits and EOF is reached
@@ -149,7 +149,7 @@ fn write_interactive_prompt() {
149149
stdout.flush().unwrap();
150150
}));
151151

152-
let Terminal { mut pty_reader, mut pty_writer, child_handle } =
152+
let Terminal { mut pty_reader, mut pty_writer, child_handle, .. } =
153153
Terminal::spawn(ScreenSize { rows: 80, cols: 80 }, cmd).unwrap();
154154

155155
// Wait for prompt "Name: " (read until the space after colon)
@@ -240,7 +240,7 @@ fn resize_terminal() {
240240
stdout().flush().unwrap();
241241
}));
242242

243-
let Terminal { mut pty_reader, mut pty_writer, child_handle: _ } =
243+
let Terminal { mut pty_reader, mut pty_writer, child_handle: _, .. } =
244244
Terminal::spawn(ScreenSize { rows: 80, cols: 80 }, cmd).unwrap();
245245

246246
// Wait for initial size line (synchronize before resizing)
@@ -311,7 +311,7 @@ fn send_ctrl_c_interrupts_process() {
311311
}
312312
}));
313313

314-
let Terminal { mut pty_reader, mut pty_writer, child_handle: _ } =
314+
let Terminal { mut pty_reader, mut pty_writer, child_handle: _, .. } =
315315
Terminal::spawn(ScreenSize { rows: 80, cols: 80 }, cmd).unwrap();
316316

317317
// Wait for process to be ready
@@ -342,7 +342,7 @@ fn read_to_end_returns_exit_status_success() {
342342
println!("success");
343343
}));
344344

345-
let Terminal { mut pty_reader, pty_writer: _pty_writer, child_handle } =
345+
let Terminal { mut pty_reader, pty_writer: _pty_writer, child_handle, .. } =
346346
Terminal::spawn(ScreenSize { rows: 80, cols: 80 }, cmd).unwrap();
347347
let mut discard = Vec::new();
348348
pty_reader.read_to_end(&mut discard).unwrap();
@@ -358,7 +358,7 @@ fn read_to_end_returns_exit_status_nonzero() {
358358
std::process::exit(42);
359359
}));
360360

361-
let Terminal { mut pty_reader, pty_writer: _pty_writer, child_handle } =
361+
let Terminal { mut pty_reader, pty_writer: _pty_writer, child_handle, .. } =
362362
Terminal::spawn(ScreenSize { rows: 80, cols: 80 }, cmd).unwrap();
363363
let mut discard = Vec::new();
364364
pty_reader.read_to_end(&mut discard).unwrap();

crates/pty_terminal_test/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ impl TestTerminal {
3434
///
3535
/// Returns an error if the PTY cannot be opened or the command fails to spawn.
3636
pub fn spawn(size: ScreenSize, cmd: CommandBuilder) -> anyhow::Result<Self> {
37-
let Terminal { pty_reader, pty_writer, child_handle } = Terminal::spawn(size, cmd)?;
37+
let Terminal { pty_reader, pty_writer, child_handle, .. } = Terminal::spawn(size, cmd)?;
3838
Ok(Self {
3939
writer: pty_writer,
4040
reader: Reader { pty: BufReader::new(pty_reader), child_handle: child_handle.clone() },

0 commit comments

Comments
 (0)