]> git.lizzy.rs Git - rust.git/commit
Fix syntax in `-Zunpretty-expanded` output for derived `PartialEq`.
authorNicholas Nethercote <n.nethercote@gmail.com>
Mon, 30 Jan 2023 05:29:52 +0000 (16:29 +1100)
committerNicholas Nethercote <n.nethercote@gmail.com>
Wed, 1 Feb 2023 04:14:05 +0000 (15:14 +1100)
commit75e87d1f81290052a07fe85e3809d48a46613fb1
tree8633a95bf924cc7c67a4bbb0fda71d1d7526dab9
parenta322848c6b0e037c1f0209387558ecb6ab763714
Fix syntax in `-Zunpretty-expanded` output for derived `PartialEq`.

If you do `derive(PartialEq)` on a packed struct, the output shown by
`-Zunpretty=expanded` includes expressions like this:
```
{ self.x } == { other.x }
```
This is invalid syntax. This doesn't break compilation, because the AST
nodes are constructed within the compiler. But it does mean anyone using
`-Zunpretty=expanded` output as a guide for hand-written impls could get
a nasty surprise.

This commit fixes things by instead using this form:
```
({ self.x }) == ({ other.x })
```
compiler/rustc_builtin_macros/src/deriving/cmp/partial_eq.rs
compiler/rustc_expand/src/build.rs
tests/ui/deriving/deriving-all-codegen.stdout