rust-lang / rust-lang/rustfmt

Add formatting support for the `asm!` macro

Open
#6,526 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-feature-request S-blocked
Dominant language
Rust
Stars
7k
Forks
1.1k
Avg merge
2d 13h
Merged PRs (30d)
24

Description

Given a snippet like this

unsafe fn foobar() {
    core::arch::asm!("{}", 
        const X)
}

I'd expect that to format to

unsafe fn foobar() {
    core::arch::asm!("{}", const X)
}

but instead nothing happens. Given that these operands are quite new, I suspect this is an oversight.

I'd happily look into fixing this, but I'm not 100% clear on whether the formatting behavior for existing code can be change? Though here I'd clearly consider it a bug.

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.

Research direction

Reproduce the issue by running rustfmt on the provided unsafe function and compare the output with the expected formatting for the asm! operands. Trace how rustfmt handles asm! arguments, then add regression coverage for this snippet; done means the const X operand is kept on the same line as the format string.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.