rust/src
Yuki Okushi 921cfbe56f
Rollup merge of #99581 - nnethercote:improve-derive-packed-errors, r=estebank
Improve error messages involving `derive` and `packed`.

There are two errors involving `derive` and `packed`.

```
`#[derive]` can't be derived on a `#[repr(packed)]` struct with type or const parameters
`#[derive]` can't be derived on a `#[repr(packed)]` struct that does not derive Copy
```
The second one overstates things. It is possible to use derive on a
repr(packed) struct that doesn't derive Copy in two cases.
- If all the fields within the struct meet the required alignment: 1 for
  `repr(packed)`, or `N` for `repr(packed(N))`.
- If `Default` is the only trait derived.

This commit improves things in a few ways.
- Changes the errors to say `this trait can't be derived on this ...`.
  This is more accurate, because it's just *this* trait and *this*
  packed struct that are a problem, not *all* derived traits on *all*
  packed structs.
- Adds more details to the "ERROR" lines in the test case, enough to
  distinguish between the two error messages.
- Adds more cases to the test case that don't cause errors, e.g. `Default`
  derives.
- Uses a wider variety of builtin traits in the test case, for better coverage.

r? `@estebank`
2022-07-25 18:46:51 +09:00
..
bootstrap Only run proc-macro-srv tests for now (after discussion with @Veykril, @jyn514, and @lnicola) 2022-07-24 21:04:56 +02:00
ci Revert "Use ICF (identical code folding) for building rustc" 2022-07-18 23:50:00 +02:00
doc Auto merge of #95548 - rcvalle:rust-cfi-2, r=nagisa 2022-07-24 01:22:36 +00:00
etc Rollup merge of #95446 - notseanray:master, r=Mark-Simulacrum 2022-06-22 15:16:08 +09:00
librustdoc Remove Clean trait implementation for Constant 2022-07-24 15:08:24 +02:00
llvm-project@8b6b5014fd Update llvm-project 2022-07-05 17:57:29 +02:00
rustdoc-json-types Fix rustdoc JSON inline 2022-07-16 13:39:38 +02:00
test Rollup merge of #99581 - nnethercote:improve-derive-packed-errors, r=estebank 2022-07-25 18:46:51 +09:00
tools Make macros test order-resistant 2022-07-24 16:48:06 +02:00
README.md
stage0.json Bump to latest beta 2022-07-21 01:36:08 +00:00
version bump version to 1.64.0 2022-06-24 17:27:24 +02:00

This directory contains the source code of the rust project, including:

  • The test suite
  • The bootstrapping build system
  • Various submodules for tools, like rustdoc, rls, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.