Observed at PR #631 head d811e0c2accc8997eecb5071f8752f88e9fb44e4. Failing CI job.
The Windows GNU amd64 job fails its standard-library corpus check with E3001: module 'std::sys::socket' has no symbol 'MSG_DONTWAIT'. The corpus result is 279 passed / 1 failed; all 26 standard-library examples pass.
The new std/net/posix_timeout.wave imports the Unix-only symbol unconditionally. Target selection at the tcp.wave import site does not protect this file when the corpus checker checks each module directly. Locally reproduced with:
target/debug/wavec check std/net/posix_timeout.wave --target x86_64-pc-windows-gnu
Scope: make the module's imports/declarations target-appropriate, or apply an explicit supported-target contract in corpus discovery. Do not invent a Windows MSG_DONTWAIT constant or drop platform validation wholesale.
Acceptance:
- Windows GNU corpus and examples pass, and the native Windows timeout implementation remains selected.
- Linux/macOS/FreeBSD still check the real POSIX timeout implementation.
- Add a focused regression for standalone module checking on an incompatible target.
This is a target-selection regression introduced in #631, separate from the runtime deadline behavior in #510.
Source references:
Observed at PR #631 head
d811e0c2accc8997eecb5071f8752f88e9fb44e4. Failing CI job.The Windows GNU amd64 job fails its standard-library corpus check with
E3001: module 'std::sys::socket' has no symbol 'MSG_DONTWAIT'. The corpus result is 279 passed / 1 failed; all 26 standard-library examples pass.The new
std/net/posix_timeout.waveimports the Unix-only symbol unconditionally. Target selection at thetcp.waveimport site does not protect this file when the corpus checker checks each module directly. Locally reproduced with:Scope: make the module's imports/declarations target-appropriate, or apply an explicit supported-target contract in corpus discovery. Do not invent a Windows MSG_DONTWAIT constant or drop platform validation wholesale.
Acceptance:
This is a target-selection regression introduced in #631, separate from the runtime deadline behavior in #510.
Source references: