Expand `cold` documentation.

Open
#543 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
45/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Stale
Tech stack
rust
Domain
documentation

Research direction

Start by locating the Rust Reference documentation for the cold attribute. Review how its effects differ by backend, including the MIR inlining threshold and the LLVM calling convention, then document the behavior as rustc-specific where appropriate. Done means the attribute's effects and implementation-detail status are clearly explained.

Written by the indexing model from the issue text.

Description

A-attributes

Should there be more documentation about what the cold attribute does? Or is
that an implementation detail? Its effects depend on the backend in use.

  • It reduces the MIR inlining threshold.
  • The LLVM backend: "This calling convention attempts to make code in the caller as
    efficient as possible under the assumption that the call is not commonly
    executed. As such, these calls often preserve all registers so that the
    call does not break any live ranges in the caller side."

One option is to include the information in a note block making it clear it is rustc behavior.

Dominant language
Rust
Stars
1.6k
Forks
607
Avg merge
1d 1h
Merged PRs (30d)
12

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from rust-lang/reference

All issues in rust-lang/reference

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.