2026-03-14 08:18:04 -07:00
|
|
|
# argument-comment-lint
|
|
|
|
|
|
|
|
|
|
Isolated [Dylint](https://github.com/trailofbits/dylint) library for enforcing
|
|
|
|
|
Rust argument comments in the exact `/*param*/` shape.
|
|
|
|
|
|
|
|
|
|
Prefer self-documenting APIs over comment-heavy call sites when possible. If a
|
|
|
|
|
call site would otherwise read like `foo(false)` or `bar(None)`, consider an
|
|
|
|
|
enum, named helper, newtype, or another idiomatic Rust API shape first, and
|
|
|
|
|
use an argument comment only when a smaller compatibility-preserving change is
|
|
|
|
|
more appropriate.
|
|
|
|
|
|
|
|
|
|
It provides two lints:
|
|
|
|
|
|
|
|
|
|
- `argument_comment_mismatch` (`warn` by default): validates that a present
|
|
|
|
|
`/*param*/` comment matches the resolved callee parameter name.
|
|
|
|
|
- `uncommented_anonymous_literal_argument` (`allow` by default): flags
|
|
|
|
|
anonymous literal-like arguments such as `None`, `true`, `false`, and numeric
|
|
|
|
|
literals when they do not have a preceding `/*param*/` comment.
|
|
|
|
|
|
|
|
|
|
String and char literals are exempt because they are often already
|
|
|
|
|
self-descriptive at the callsite.
|
|
|
|
|
|
|
|
|
|
## Behavior
|
|
|
|
|
|
|
|
|
|
Given:
|
|
|
|
|
|
|
|
|
|
```rust
|
|
|
|
|
fn create_openai_url(base_url: Option<String>, retry_count: usize) -> String {
|
|
|
|
|
let _ = (base_url, retry_count);
|
|
|
|
|
String::new()
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
This is accepted:
|
|
|
|
|
|
|
|
|
|
```rust
|
|
|
|
|
create_openai_url(/*base_url*/ None, /*retry_count*/ 3);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
This is warned on by `argument_comment_mismatch`:
|
|
|
|
|
|
|
|
|
|
```rust
|
|
|
|
|
create_openai_url(/*api_base*/ None, 3);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
This is only warned on when `uncommented_anonymous_literal_argument` is enabled:
|
|
|
|
|
|
|
|
|
|
```rust
|
|
|
|
|
create_openai_url(None, 3);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Development
|
|
|
|
|
|
|
|
|
|
Install the required tooling once:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cargo install cargo-dylint dylint-link
|
|
|
|
|
rustup toolchain install nightly-2025-09-18 \
|
|
|
|
|
--component llvm-tools-preview \
|
|
|
|
|
--component rustc-dev \
|
|
|
|
|
--component rust-src
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Run the lint crate tests:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cd tools/argument-comment-lint
|
|
|
|
|
cargo test
|
|
|
|
|
```
|
|
|
|
|
|
Publish runnable DotSlash package for argument-comment lint (#15198)
## Why
To date, the argument-comment linter introduced in
https://github.com/openai/codex/pull/14651 had to be built from source
to run, which can be a bit slow (both for local dev and when it is run
in CI). Because of the potential slowness, I did not wire it up to run
as part of `just clippy` or anything like that. As a result, I have seen
a number of occasions where folks put up PRs that violate the lint, see
it fail in CI, and then have to put up their PR again.
The goal of this PR is to pre-build a runnable version of the linter and
then make it available via a DotSlash file. Once it is available, I will
update `just clippy` and other touchpoints to make it a natural part of
the dev cycle so lint violations should get flagged _before_ putting up
a PR for review.
To get things started, we will build the DotSlash file as part of an
alpha release. Though I don't expect the linter to change often, so I'll
probably change this to only build as part of mainline releases once we
have a working DotSlash file. (Ultimately, we should probably move the
linter into its own repo so it can have its own release cycle.)
## What Changed
- add a reusable `rust-release-argument-comment-lint.yml` workflow that
builds host-specific archives for macOS arm64, Linux arm64/x64, and
Windows x64
- wire `rust-release.yml` to publish the `argument-comment-lint`
DotSlash manifest on all releases for now, including alpha tags
- package a runnable layout instead of a bare library
The Unix archive layout is:
```text
argument-comment-lint/
bin/
argument-comment-lint
cargo-dylint
lib/
libargument_comment_lint@nightly-2025-09-18-<target>.dylib|so
```
On Windows the same layout is published as a `.zip`, with `.exe` and
`.dll` filenames instead.
DotSlash resolves the package entrypoint to
`argument-comment-lint/bin/argument-comment-lint`. That runner finds the
sibling bundled `cargo-dylint` binary plus the single packaged Dylint
library under `lib/`, then invokes `cargo-dylint dylint --lib-path
<that-library>` with the repo's default lint settings.
2026-03-19 11:59:02 -07:00
|
|
|
GitHub releases also publish a DotSlash file named
|
|
|
|
|
`argument-comment-lint` for macOS arm64, Linux arm64, Linux x64, and Windows
|
|
|
|
|
x64. The published package contains a small runner executable, a bundled
|
|
|
|
|
`cargo-dylint`, and the prebuilt lint library.
|
|
|
|
|
|
Use released DotSlash package for argument-comment lint (#15199)
## Why
The argument-comment lint now has a packaged DotSlash artifact from
[#15198](https://github.com/openai/codex/pull/15198), so the normal repo
lint path should use that released payload instead of rebuilding the
lint from source every time.
That keeps `just clippy` and CI aligned with the shipped artifact while
preserving a separate source-build path for people actively hacking on
the lint crate.
The current alpha package also exposed two integration wrinkles that the
repo-side prebuilt wrapper needs to smooth over:
- the bundled Dylint library filename includes the host triple, for
example `@nightly-2025-09-18-aarch64-apple-darwin`, and Dylint derives
`RUSTUP_TOOLCHAIN` from that filename
- on Windows, Dylint's driver path also expects `RUSTUP_HOME` to be
present in the environment
Without those adjustments, the prebuilt CI jobs fail during `cargo
metadata` or driver setup. This change makes the checked-in prebuilt
wrapper normalize the packaged library name to the plain
`nightly-2025-09-18` channel before invoking `cargo-dylint`, and it
teaches both the wrapper and the packaged runner source to infer
`RUSTUP_HOME` from `rustup show home` when the environment does not
already provide it.
After the prebuilt Windows lint job started running successfully, it
also surfaced a handful of existing anonymous literal callsites in
`windows-sandbox-rs`. This PR now annotates those callsites so the new
cross-platform lint job is green on the current tree.
## What Changed
- checked in the current
`tools/argument-comment-lint/argument-comment-lint` DotSlash manifest
- kept `tools/argument-comment-lint/run.sh` as the source-build wrapper
for lint development
- added `tools/argument-comment-lint/run-prebuilt-linter.sh` as the
normal enforcement path, using the checked-in DotSlash package and
bundled `cargo-dylint`
- updated `just clippy` and `just argument-comment-lint` to use the
prebuilt wrapper
- split `.github/workflows/rust-ci.yml` so source-package checks live in
a dedicated `argument_comment_lint_package` job, while the released lint
runs in an `argument_comment_lint_prebuilt` matrix on Linux, macOS, and
Windows
- kept the pinned `nightly-2025-09-18` toolchain install in the prebuilt
CI matrix, since the prebuilt package still relies on rustup-provided
toolchain components
- updated `tools/argument-comment-lint/run-prebuilt-linter.sh` to
normalize host-qualified nightly library filenames, keep the `rustup`
shim directory ahead of direct toolchain `cargo` binaries, and export
`RUSTUP_HOME` when needed for Windows Dylint driver setup
- updated `tools/argument-comment-lint/src/bin/argument-comment-lint.rs`
so future published DotSlash artifacts apply the same nightly-filename
normalization and `RUSTUP_HOME` inference internally
- fixed the remaining Windows lint violations in
`codex-rs/windows-sandbox-rs` by adding the required `/*param*/`
comments at the reported callsites
- documented the checked-in DotSlash file, wrapper split, archive
layout, nightly prerequisite, and Windows `RUSTUP_HOME` requirement in
`tools/argument-comment-lint/README.md`
2026-03-19 20:19:22 -07:00
|
|
|
The package is not a full Rust toolchain. Running the prebuilt path still
|
|
|
|
|
requires the pinned nightly toolchain to be installed via `rustup`:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
rustup toolchain install nightly-2025-09-18 \
|
|
|
|
|
--component llvm-tools-preview \
|
|
|
|
|
--component rustc-dev \
|
|
|
|
|
--component rust-src
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
The checked-in DotSlash file lives at `tools/argument-comment-lint/argument-comment-lint`.
|
|
|
|
|
`run-prebuilt-linter.sh` resolves that file via `dotslash` and is the path used by
|
|
|
|
|
`just clippy`, `just argument-comment-lint`, and the Rust CI job. The
|
|
|
|
|
source-build path remains available in `run.sh` for people
|
|
|
|
|
iterating on the lint crate itself.
|
|
|
|
|
|
|
|
|
|
The Unix archive layout is:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
argument-comment-lint/
|
|
|
|
|
bin/
|
|
|
|
|
argument-comment-lint
|
|
|
|
|
cargo-dylint
|
|
|
|
|
lib/
|
|
|
|
|
libargument_comment_lint@nightly-2025-09-18-<target>.dylib|so
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
On Windows the same layout is published as a `.zip`, with `.exe` and `.dll`
|
|
|
|
|
filenames instead.
|
|
|
|
|
|
|
|
|
|
DotSlash resolves the package entrypoint to `argument-comment-lint/bin/argument-comment-lint`
|
|
|
|
|
(or `.exe` on Windows). That runner finds the sibling bundled `cargo-dylint`
|
|
|
|
|
binary and the single packaged Dylint library under `lib/`, normalizes the
|
|
|
|
|
host-qualified nightly filename to the plain `nightly-2025-09-18` channel when
|
|
|
|
|
needed, and then invokes `cargo-dylint dylint --lib-path <that-library>` with
|
|
|
|
|
the repo's default `DYLINT_RUSTFLAGS` and `CARGO_INCREMENTAL=0` settings.
|
|
|
|
|
|
|
|
|
|
The checked-in `run-prebuilt-linter.sh` wrapper uses the fetched package
|
|
|
|
|
contents directly so the current checked-in alpha artifact works the same way.
|
|
|
|
|
It also makes sure the `rustup` shims stay ahead of any direct toolchain
|
|
|
|
|
`cargo` binary on `PATH`, and sets `RUSTUP_HOME` from `rustup show home` when
|
|
|
|
|
the environment does not already provide it. That extra `RUSTUP_HOME` export is
|
|
|
|
|
required for the current Windows Dylint driver path.
|
|
|
|
|
|
|
|
|
|
If you are changing the lint crate itself, use the source-build wrapper:
|
2026-03-14 08:18:04 -07:00
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
./tools/argument-comment-lint/run.sh -p codex-core
|
Use released DotSlash package for argument-comment lint (#15199)
## Why
The argument-comment lint now has a packaged DotSlash artifact from
[#15198](https://github.com/openai/codex/pull/15198), so the normal repo
lint path should use that released payload instead of rebuilding the
lint from source every time.
That keeps `just clippy` and CI aligned with the shipped artifact while
preserving a separate source-build path for people actively hacking on
the lint crate.
The current alpha package also exposed two integration wrinkles that the
repo-side prebuilt wrapper needs to smooth over:
- the bundled Dylint library filename includes the host triple, for
example `@nightly-2025-09-18-aarch64-apple-darwin`, and Dylint derives
`RUSTUP_TOOLCHAIN` from that filename
- on Windows, Dylint's driver path also expects `RUSTUP_HOME` to be
present in the environment
Without those adjustments, the prebuilt CI jobs fail during `cargo
metadata` or driver setup. This change makes the checked-in prebuilt
wrapper normalize the packaged library name to the plain
`nightly-2025-09-18` channel before invoking `cargo-dylint`, and it
teaches both the wrapper and the packaged runner source to infer
`RUSTUP_HOME` from `rustup show home` when the environment does not
already provide it.
After the prebuilt Windows lint job started running successfully, it
also surfaced a handful of existing anonymous literal callsites in
`windows-sandbox-rs`. This PR now annotates those callsites so the new
cross-platform lint job is green on the current tree.
## What Changed
- checked in the current
`tools/argument-comment-lint/argument-comment-lint` DotSlash manifest
- kept `tools/argument-comment-lint/run.sh` as the source-build wrapper
for lint development
- added `tools/argument-comment-lint/run-prebuilt-linter.sh` as the
normal enforcement path, using the checked-in DotSlash package and
bundled `cargo-dylint`
- updated `just clippy` and `just argument-comment-lint` to use the
prebuilt wrapper
- split `.github/workflows/rust-ci.yml` so source-package checks live in
a dedicated `argument_comment_lint_package` job, while the released lint
runs in an `argument_comment_lint_prebuilt` matrix on Linux, macOS, and
Windows
- kept the pinned `nightly-2025-09-18` toolchain install in the prebuilt
CI matrix, since the prebuilt package still relies on rustup-provided
toolchain components
- updated `tools/argument-comment-lint/run-prebuilt-linter.sh` to
normalize host-qualified nightly library filenames, keep the `rustup`
shim directory ahead of direct toolchain `cargo` binaries, and export
`RUSTUP_HOME` when needed for Windows Dylint driver setup
- updated `tools/argument-comment-lint/src/bin/argument-comment-lint.rs`
so future published DotSlash artifacts apply the same nightly-filename
normalization and `RUSTUP_HOME` inference internally
- fixed the remaining Windows lint violations in
`codex-rs/windows-sandbox-rs` by adding the required `/*param*/`
comments at the reported callsites
- documented the checked-in DotSlash file, wrapper split, archive
layout, nightly prerequisite, and Windows `RUSTUP_HOME` requirement in
`tools/argument-comment-lint/README.md`
2026-03-19 20:19:22 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Run the lint against `codex-rs` from the repo root:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
./tools/argument-comment-lint/run-prebuilt-linter.sh -p codex-core
|
2026-03-14 08:18:04 -07:00
|
|
|
just argument-comment-lint -p codex-core
|
|
|
|
|
```
|
|
|
|
|
|
Use released DotSlash package for argument-comment lint (#15199)
## Why
The argument-comment lint now has a packaged DotSlash artifact from
[#15198](https://github.com/openai/codex/pull/15198), so the normal repo
lint path should use that released payload instead of rebuilding the
lint from source every time.
That keeps `just clippy` and CI aligned with the shipped artifact while
preserving a separate source-build path for people actively hacking on
the lint crate.
The current alpha package also exposed two integration wrinkles that the
repo-side prebuilt wrapper needs to smooth over:
- the bundled Dylint library filename includes the host triple, for
example `@nightly-2025-09-18-aarch64-apple-darwin`, and Dylint derives
`RUSTUP_TOOLCHAIN` from that filename
- on Windows, Dylint's driver path also expects `RUSTUP_HOME` to be
present in the environment
Without those adjustments, the prebuilt CI jobs fail during `cargo
metadata` or driver setup. This change makes the checked-in prebuilt
wrapper normalize the packaged library name to the plain
`nightly-2025-09-18` channel before invoking `cargo-dylint`, and it
teaches both the wrapper and the packaged runner source to infer
`RUSTUP_HOME` from `rustup show home` when the environment does not
already provide it.
After the prebuilt Windows lint job started running successfully, it
also surfaced a handful of existing anonymous literal callsites in
`windows-sandbox-rs`. This PR now annotates those callsites so the new
cross-platform lint job is green on the current tree.
## What Changed
- checked in the current
`tools/argument-comment-lint/argument-comment-lint` DotSlash manifest
- kept `tools/argument-comment-lint/run.sh` as the source-build wrapper
for lint development
- added `tools/argument-comment-lint/run-prebuilt-linter.sh` as the
normal enforcement path, using the checked-in DotSlash package and
bundled `cargo-dylint`
- updated `just clippy` and `just argument-comment-lint` to use the
prebuilt wrapper
- split `.github/workflows/rust-ci.yml` so source-package checks live in
a dedicated `argument_comment_lint_package` job, while the released lint
runs in an `argument_comment_lint_prebuilt` matrix on Linux, macOS, and
Windows
- kept the pinned `nightly-2025-09-18` toolchain install in the prebuilt
CI matrix, since the prebuilt package still relies on rustup-provided
toolchain components
- updated `tools/argument-comment-lint/run-prebuilt-linter.sh` to
normalize host-qualified nightly library filenames, keep the `rustup`
shim directory ahead of direct toolchain `cargo` binaries, and export
`RUSTUP_HOME` when needed for Windows Dylint driver setup
- updated `tools/argument-comment-lint/src/bin/argument-comment-lint.rs`
so future published DotSlash artifacts apply the same nightly-filename
normalization and `RUSTUP_HOME` inference internally
- fixed the remaining Windows lint violations in
`codex-rs/windows-sandbox-rs` by adding the required `/*param*/`
comments at the reported callsites
- documented the checked-in DotSlash file, wrapper split, archive
layout, nightly prerequisite, and Windows `RUSTUP_HOME` requirement in
`tools/argument-comment-lint/README.md`
2026-03-19 20:19:22 -07:00
|
|
|
If no package selection is provided, `run-prebuilt-linter.sh` defaults to checking the
|
2026-03-14 08:18:04 -07:00
|
|
|
`codex-rs` workspace with `--workspace --no-deps`.
|
|
|
|
|
|
|
|
|
|
Repo runs also promote `uncommented_anonymous_literal_argument` to an error by
|
|
|
|
|
default:
|
|
|
|
|
|
|
|
|
|
```bash
|
Use released DotSlash package for argument-comment lint (#15199)
## Why
The argument-comment lint now has a packaged DotSlash artifact from
[#15198](https://github.com/openai/codex/pull/15198), so the normal repo
lint path should use that released payload instead of rebuilding the
lint from source every time.
That keeps `just clippy` and CI aligned with the shipped artifact while
preserving a separate source-build path for people actively hacking on
the lint crate.
The current alpha package also exposed two integration wrinkles that the
repo-side prebuilt wrapper needs to smooth over:
- the bundled Dylint library filename includes the host triple, for
example `@nightly-2025-09-18-aarch64-apple-darwin`, and Dylint derives
`RUSTUP_TOOLCHAIN` from that filename
- on Windows, Dylint's driver path also expects `RUSTUP_HOME` to be
present in the environment
Without those adjustments, the prebuilt CI jobs fail during `cargo
metadata` or driver setup. This change makes the checked-in prebuilt
wrapper normalize the packaged library name to the plain
`nightly-2025-09-18` channel before invoking `cargo-dylint`, and it
teaches both the wrapper and the packaged runner source to infer
`RUSTUP_HOME` from `rustup show home` when the environment does not
already provide it.
After the prebuilt Windows lint job started running successfully, it
also surfaced a handful of existing anonymous literal callsites in
`windows-sandbox-rs`. This PR now annotates those callsites so the new
cross-platform lint job is green on the current tree.
## What Changed
- checked in the current
`tools/argument-comment-lint/argument-comment-lint` DotSlash manifest
- kept `tools/argument-comment-lint/run.sh` as the source-build wrapper
for lint development
- added `tools/argument-comment-lint/run-prebuilt-linter.sh` as the
normal enforcement path, using the checked-in DotSlash package and
bundled `cargo-dylint`
- updated `just clippy` and `just argument-comment-lint` to use the
prebuilt wrapper
- split `.github/workflows/rust-ci.yml` so source-package checks live in
a dedicated `argument_comment_lint_package` job, while the released lint
runs in an `argument_comment_lint_prebuilt` matrix on Linux, macOS, and
Windows
- kept the pinned `nightly-2025-09-18` toolchain install in the prebuilt
CI matrix, since the prebuilt package still relies on rustup-provided
toolchain components
- updated `tools/argument-comment-lint/run-prebuilt-linter.sh` to
normalize host-qualified nightly library filenames, keep the `rustup`
shim directory ahead of direct toolchain `cargo` binaries, and export
`RUSTUP_HOME` when needed for Windows Dylint driver setup
- updated `tools/argument-comment-lint/src/bin/argument-comment-lint.rs`
so future published DotSlash artifacts apply the same nightly-filename
normalization and `RUSTUP_HOME` inference internally
- fixed the remaining Windows lint violations in
`codex-rs/windows-sandbox-rs` by adding the required `/*param*/`
comments at the reported callsites
- documented the checked-in DotSlash file, wrapper split, archive
layout, nightly prerequisite, and Windows `RUSTUP_HOME` requirement in
`tools/argument-comment-lint/README.md`
2026-03-19 20:19:22 -07:00
|
|
|
./tools/argument-comment-lint/run-prebuilt-linter.sh -p codex-core
|
2026-03-14 08:18:04 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
The wrapper does that by setting `DYLINT_RUSTFLAGS`, and it leaves an explicit
|
|
|
|
|
existing setting alone. It also defaults `CARGO_INCREMENTAL=0` unless you have
|
|
|
|
|
already set it, because the current nightly Dylint flow can otherwise hit a
|
|
|
|
|
rustc incremental compilation ICE locally. To override that behavior for an ad
|
|
|
|
|
hoc run:
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-03-16 16:48:15 -07:00
|
|
|
DYLINT_RUSTFLAGS="-A uncommented-anonymous-literal-argument" \
|
2026-03-14 08:18:04 -07:00
|
|
|
CARGO_INCREMENTAL=1 \
|
|
|
|
|
./tools/argument-comment-lint/run.sh -p codex-core
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
To expand target coverage for an ad hoc run:
|
|
|
|
|
|
|
|
|
|
```bash
|
Use released DotSlash package for argument-comment lint (#15199)
## Why
The argument-comment lint now has a packaged DotSlash artifact from
[#15198](https://github.com/openai/codex/pull/15198), so the normal repo
lint path should use that released payload instead of rebuilding the
lint from source every time.
That keeps `just clippy` and CI aligned with the shipped artifact while
preserving a separate source-build path for people actively hacking on
the lint crate.
The current alpha package also exposed two integration wrinkles that the
repo-side prebuilt wrapper needs to smooth over:
- the bundled Dylint library filename includes the host triple, for
example `@nightly-2025-09-18-aarch64-apple-darwin`, and Dylint derives
`RUSTUP_TOOLCHAIN` from that filename
- on Windows, Dylint's driver path also expects `RUSTUP_HOME` to be
present in the environment
Without those adjustments, the prebuilt CI jobs fail during `cargo
metadata` or driver setup. This change makes the checked-in prebuilt
wrapper normalize the packaged library name to the plain
`nightly-2025-09-18` channel before invoking `cargo-dylint`, and it
teaches both the wrapper and the packaged runner source to infer
`RUSTUP_HOME` from `rustup show home` when the environment does not
already provide it.
After the prebuilt Windows lint job started running successfully, it
also surfaced a handful of existing anonymous literal callsites in
`windows-sandbox-rs`. This PR now annotates those callsites so the new
cross-platform lint job is green on the current tree.
## What Changed
- checked in the current
`tools/argument-comment-lint/argument-comment-lint` DotSlash manifest
- kept `tools/argument-comment-lint/run.sh` as the source-build wrapper
for lint development
- added `tools/argument-comment-lint/run-prebuilt-linter.sh` as the
normal enforcement path, using the checked-in DotSlash package and
bundled `cargo-dylint`
- updated `just clippy` and `just argument-comment-lint` to use the
prebuilt wrapper
- split `.github/workflows/rust-ci.yml` so source-package checks live in
a dedicated `argument_comment_lint_package` job, while the released lint
runs in an `argument_comment_lint_prebuilt` matrix on Linux, macOS, and
Windows
- kept the pinned `nightly-2025-09-18` toolchain install in the prebuilt
CI matrix, since the prebuilt package still relies on rustup-provided
toolchain components
- updated `tools/argument-comment-lint/run-prebuilt-linter.sh` to
normalize host-qualified nightly library filenames, keep the `rustup`
shim directory ahead of direct toolchain `cargo` binaries, and export
`RUSTUP_HOME` when needed for Windows Dylint driver setup
- updated `tools/argument-comment-lint/src/bin/argument-comment-lint.rs`
so future published DotSlash artifacts apply the same nightly-filename
normalization and `RUSTUP_HOME` inference internally
- fixed the remaining Windows lint violations in
`codex-rs/windows-sandbox-rs` by adding the required `/*param*/`
comments at the reported callsites
- documented the checked-in DotSlash file, wrapper split, archive
layout, nightly prerequisite, and Windows `RUSTUP_HOME` requirement in
`tools/argument-comment-lint/README.md`
2026-03-19 20:19:22 -07:00
|
|
|
./tools/argument-comment-lint/run-prebuilt-linter.sh -p codex-core -- --all-targets
|
2026-03-14 08:18:04 -07:00
|
|
|
```
|