Hacker News new | ask | show | jobs
by netburst 172 days ago
Since you mention Go, it does offer precisely the feature you describe in the form of build constraints. A file starting with

  //go:build go1.18
tells the toolchain to use Go 1.18. A slightly different syntax was used prior to Go 1.17 but the feature itself has existed since Go 1.0.
1 comments

You also have the directive in go.mod which sets this for the entire module, which is very similar to the Rust edition approach, but each Go version is a small "edition".