Skip to content

Conversation

@Guest0x0
Copy link
Collaborator

Previously, stdin/stdout/stderr is placed in @pipe, and assumed to be a pipe. But this is incorrect, because stdio may be redirected to any kind of fd, such as regular file. In this case, the current @pipe.stdxxx is simply broken.

This PR moves stdin/stdout/stderr to a dedicated package moonbitlang/async/stdio, with proper handling of any file kind. The previous @pipe.stdxxx are still kept for compatibility purpose, but deprecated.

@coveralls
Copy link

Pull Request Test Coverage Report for Build 658

Details

  • 10 of 36 (27.78%) changed or added relevant lines in 8 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.2%) to 78.543%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/fs/fs.mbt 2 3 66.67%
src/process/process.mbt 0 2 0.0%
src/pipe/pipe.mbt 0 3 0.0%
src/stdio/stdio.mbt 0 20 0.0%
Totals Coverage Status
Change from base Build 657: -0.2%
Covered Lines: 1164
Relevant Lines: 1482

💛 - Coveralls

@Guest0x0 Guest0x0 merged commit 8ae1ee8 into main Oct 24, 2025
17 of 18 checks passed
@Guest0x0 Guest0x0 deleted the fix-stdio branch October 24, 2025 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants