Rust Adopts LLM Policy: What's Allowed for AI Code
Five rust-lang/rust teams ratified an LLM policy: models can analyze and review, but not author contributions. Here's what's permitted, banned, and why.
The Rust project has drawn its first formal line around AI-assisted contributions. On Tuesday, August 5, 2026, the maintainers announced that several teams inside rust-lang/rust — the monorepo that holds the compiler and standard library — have ratified a policy governing how large language models may be used when contributing. The short version, in the maintainers’ own framing: LLMs may “answer questions, analyze, distill, refine, check, suggest, review” — but they may not author contributions on a maintainer’s behalf.
It is a deliberately conservative stance, and a narrow one. The policy is not an official project-wide position on AI, and it does not apply everywhere in the Rust ecosystem. It binds only rust-lang/rust, and only the teams that have adopted it. But because that repository is the beating heart of the language, the policy is likely to become a reference point far beyond its formal scope — one of the most concrete answers yet from a major open-source project to a question every maintainer is now facing.
What the policy actually says
The policy, originally authored by longtime contributor Jynn Nelson, distinguishes sharply between using an LLM as an aid to your own thinking and using one to generate the words and code you submit under your name.
Permitted, broadly: using an LLM to answer questions, analyze existing code, distill and summarize discussions for your own private use, review your own prose or code before posting, and suggest possible solutions. The guiding idea, in the project’s words, is that “LLMs work best when used as a tool to write better, not faster.” A model that helps you understand a gnarly borrow-checker error or sanity-check your reasoning is welcome.
Prohibited, by default: posting comments, issue bodies, or pull request descriptions on rust-lang/rust that were originally created by an LLM. In other words, the human text that accompanies a contribution — the explanation of what a change does and why — has to come from a human. The policy also warns that “deliberately misrepresenting your use of LLMs is not welcome and may result in moderation action,” putting real teeth behind the disclosure expectation.
Permitted with disclosure: a limited set of narrower uses, including machine translation, trivial code or prose changes, and bug discovery that the contributor has personally verified. The common thread is that a human remains accountable for the substance, and the LLM’s role is disclosed rather than hidden.
The default posture, then, is that LLMs are fine for reading, analyzing, and learning from code, but not for creating the contribution itself. That is a meaningfully stricter line than most projects have drawn, and — just as importantly — a clearer one.
An experimental path for AI-generated code
The policy is not an absolute ban on machine-written code. It carves out a separate experimental path that permits some LLM-generated code changes under tightly controlled conditions. Those changes must be pre-arranged with a reviewer, confined to non-critical areas, high-quality, well-tested, and thoroughly reviewed before they land.
The design is telling. Rather than pretend AI-generated patches can be waved through like any other PR, the project is treating them as an experiment that must be negotiated in advance with a human who agrees to own the review burden. It is closer to a supervised pilot than an open door — a way to gather evidence about whether AI-authored changes can meet Rust’s bar without flooding maintainers with work they never signed up for.
Which teams are bound — and which aren’t
The policy applies to rust-lang/rust only, and only to the teams that have ratified it: the compiler, libs (the standard library), types, rustdoc, and bootstrap teams, along with their sub-teams. Other parts of the sprawling Rust project — Cargo, the various tooling repositories, the broader governance apparatus — are not covered.
That scoping is a feature, not an oversight. Rust’s governance is federated: teams own their areas and set their own norms, and there is no single authority that can impose one rule across everything. By letting the teams closest to the pain adopt the policy first, the project gets a workable rule where it is most needed without waiting for a project-wide consensus that might never converge. Expect the language of this policy to be borrowed, adapted, and argued over by other Rust teams and by other projects entirely in the months ahead.
Why now: the ‘slop’ problem
The policy did not arrive in a vacuum. It followed months of debate and, more pointedly, a growing operational problem. Before it existed, the project had what maintainers describe as a “wild west” approach to moderation: dozens of LLM-authored PRs, no disclosure rules, and — in some of the worst cases — contributors trying to land risky MIR optimizations as their very first pull request, accompanied by confident-sounding descriptions that turned out to be dubious.
This is the now-familiar “slop” problem: a deluge of low-effort, LLM-generated contributions that look plausible at a glance but consume disproportionate reviewer time to evaluate and reject. The asymmetry is brutal. Generating a patch that compiles and reads reasonably takes seconds; determining that it is subtly wrong, poorly tested, or aimed at code too sensitive for a newcomer can take a senior maintainer hours. In a project where review capacity is the scarcest resource and the code in question governs memory safety for millions of downstream programs, that asymmetry is not sustainable.
Maintainers had something to point to before — informal guidance to “empower reviewers to reject burdensome PRs” — but enforcement was inconsistent and the rules lived nowhere in particular. Compared with that, the new policy is both much stricter and much clearer. A reviewer can now cite a written rule instead of relying on judgment calls that invite argument. Clarity, as much as strictness, is the point.
The bigger tension
Rust makes an interesting test case precisely because the language is, in one sense, unusually friendly to AI-assisted coding. Its strict type system and ownership model catch a large share of the errors that LLMs are prone to introduce — use-after-free, data races, type mismatches — before the code ever runs. If any language could let a model write code safely, the argument goes, it would be this one.
And yet the project responsible for that language just told LLMs they may not author its contributions. The reason is that compiler safety and review cost are different problems. The type system can catch a memory bug; it cannot catch a subtly wrong optimization, a mischaracterized PR description, or a first-time contributor who does not understand the change submitted under their name. The bottleneck at the heart of rust-lang/rust is human attention, and no amount of type-checking relieves it.
That tension — capable AI coding assistants on one side, finite human review on the other — is the real subject of this policy, and it is not unique to Rust. Every serious open-source project is now negotiating the same line, and the answers are starting to diverge. Some, like the TypeScript team’s Go-based compiler rewrite, lean into tooling and performance; others are writing rulebooks for how humans and language models share the work. Rust has just published one of the more carefully reasoned versions.
What it means
The immediate effect is practical: rust-lang/rust maintainers now have a written, enforceable standard they can point to when triaging the flood of AI-assisted PRs, and contributors have clear expectations rather than a guessing game. The disclosure requirement, backed by the threat of moderation for misrepresentation, shifts the burden of honesty onto the contributor — where a healthy open-source project needs it to sit.
Who benefits: overworked maintainers, first and foremost. The policy hands reviewers a clean basis for rejecting low-effort submissions without relitigating norms each time, and it protects the review pipeline that makes Rust’s safety guarantees credible in the first place. Serious contributors benefit too, indirectly — a less clogged queue means legitimate work gets attention faster.
Who this constrains: contributors who were leaning on LLMs to generate not just code but the reasoning around it. The line the policy draws — analyze and review, yes; author, no — is precisely aimed at the workflow that produces slop. And the experimental path signals that even genuinely good AI-generated code is welcome only when a human has agreed in advance to stand behind it.
What to watch next. Whether the other Rust teams and repositories adopt similar language is the near-term signal; a policy confined to five teams that spreads to the whole project would mark a real shift in norms. Beyond Rust, watch whether this becomes a template other high-profile projects borrow, and whether the experimental path yields evidence that changes the calculus — if pre-arranged, well-tested AI patches consistently clear the bar, the strict default may loosen over time. For now, the most influential systems-language project in the world has said the quiet part plainly: the scarce resource is human review, and no model gets to spend it without a human on the hook.
Tagged
Keep reading
Chisato · · 5 min read Model Context Protocol (MCP), Explained
The Model Context Protocol (MCP) is the USB-C of AI — one open standard that lets any model plug into your tools and data. How it works and why it won.
Chisato · · 6 min read What Is Ollama? Run LLMs Locally, Explained
Ollama is a free, open-source tool for running LLMs locally — pull a model with one command and chat privately, offline, at no per-token cost. How it works.
Chisato · · 3 min read Running LLMs Locally with Ollama: A Practical Guide
Run open-weight LLMs on your own machine with Ollama — private, offline, and free. This guide covers install, models, the local API, and customization.