wavefnd / wavefnd/Wave

Switch native Windows default Wave output to MSVC after native validation passes

Open
#625 0 comments 0 reactions 0 assignees View on GitHub
backward compatibility help wanted migration
Dominant language
Rust
Stars
53
Forks
16
Avg merge
4h 22m
Merged PRs (30d)
46

Description

Part of #611. Difficulty: **medium**. Audit baseline: master `3950416e` (2026-09-12).

## Current evidence

[src/cli.rs](https://github.com/wavefnd/Wave/blob/3950416efc55cbc5ae7d54535e5a4e8699394ff0/src/cli.rs#L4113) returns pc-windows-gnu for every Windows host. [.github/workflows/rust.yml](https://github.com/wavefnd/Wave/blob/3950416efc55cbc5ae7d54535e5a4e8699394ff0/.github/workflows/rust.yml#L996) explicitly expects the GNU default even when the compiler host is aarch64-pc-windows-msvc.

## Scope

After native MSVC execution gates pass, select x86_64-pc-windows-msvc and aarch64-pc-windows-msvc as the Windows defaults. Update driver print/dry-run/build/run expectations and packaging smoke commands together. Preserve explicit target selection during the transition; never fall back silently to GNU when MSVC prerequisites are missing.

## Completion criteria

Native x64/ARM64 tests prove ordinary build/run and printed host/default target use MSVC. Explicit target overrides remain honored until the separate removal step. Unsupported/missing enabled backends fail clearly. Document the behavior change through existing target-matrix/migration documentation work #401 instead of adding a second support table. Linux/macOS/BSD defaults are unchanged.

## Dependencies and boundaries

#612, #613, #617, #623, #615, #616; #608/#609 must be resolved. #626 follows this issue.

Contributor guide

Open the contributing guide

Research direction

Start with src/cli.rs around the Windows target selection and .github/workflows/rust.yml around the existing GNU-default expectations. Review the native validation dependencies (#612, #613, #617, #623, #615, #616, #608, and #609) before changing behavior. Done means native x64 and ARM64 build/run and print or dry-run expectations use MSVC, explicit targets remain honored, failures are clear, and Linux/macOS/BSD defaults are unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, rust
Domain
build-system, cli, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.