From 1354a38afd7c7183e4e7f5f17bef7fccfc4d2a06 Mon Sep 17 00:00:00 2001 From: Josh Triplett Date: Tue, 28 Mar 2023 10:49:35 +0900 Subject: Document the heuristics IsTerminal uses on Windows --- library/std/src/io/stdio.rs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'library/std/src') diff --git a/library/std/src/io/stdio.rs b/library/std/src/io/stdio.rs index 0455a00956e..7c1bf488a21 100644 --- a/library/std/src/io/stdio.rs +++ b/library/std/src/io/stdio.rs @@ -1054,6 +1054,10 @@ pub trait IsTerminal: crate::sealed::Sealed { /// On platforms where Rust does not know how to detect a terminal yet, this will return /// `false`. This will also return `false` if an unexpected error occurred, such as from /// passing an invalid file descriptor. + /// + /// On Windows, in addition to detecting consoles, this currently uses some heuristics to + /// detect older msys/cygwin/mingw pseudo-terminals based on device name: devices with names + /// starting with `msys-` or `cygwin-` and ending in `-pty` will be considered terminals. fn is_terminal(&self) -> bool; } -- cgit 1.4.1-3-g733a5