Skip to content

Commit c829875

Browse files
committed
List limitations in the README
Closes #2109
1 parent a6b574b commit c829875

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,36 @@ to run on a cargo project in the current working directory:
4141
cargo fmt
4242
```
4343

44+
45+
## Limitations
46+
47+
Rustfmt tries to work on as much Rust code as possible, sometimes, the code
48+
doesn't even need to compile! As we approach a 1.0 release we are also looking
49+
to limit areas of instability; in particular, post-1.0, the formatting of most
50+
code should not change as Rustfmt improves. However, there are some things that
51+
Rustfmt can't do or can't do well (and thus where formatting might change
52+
significantly, even post-1.0). We would like to reduce the list of limitations
53+
over time.
54+
55+
The following list enumerates areas where Rustfmt does not work or where the
56+
stability guarantees do not apply (we don't make a distinction between the two
57+
because in the future Rustfmt might work on code where it currently does not):
58+
59+
* a program where any part of the program does not parse (parsing is an early
60+
stage of compilation and in Rust includes macro expansion).
61+
* Macro declarations and uses (current status: some macro declarations and uses
62+
are formatted).
63+
* Comments, including any AST node with a comment 'inside' (Rustfmt does not
64+
currently attempt to format comments, it does format code with comments inside, but that formatting may change in the future).
65+
* Rust code in code blocks in comments.
66+
* Any fragment of a program (i.e., stability guarantees only apply to whole
67+
programs, even where fragments of a program can be formatted today).
68+
* Code containing non-ascii unicode characters (we believe Rustfmt mostly works
69+
here, but do not have the test coverage or experience to be 100% sure).
70+
* Bugs in Rustfmt (like any software, Rustfmt has bugs, we do not consider bug
71+
fixes to break our stability guarantees).
72+
73+
4474
## Installation
4575

4676
```

0 commit comments

Comments
 (0)