diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-10-21 22:00:45 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-10-21 22:00:45 +0200 |
| commit | aba84894d1879a7429d5bc20d0bfdca3471685de (patch) | |
| tree | 5c11f19bd3b62b335a5a189f49b0ef2a6c3bc2f2 /src/doc/rustc | |
| parent | 10f12fe3e73f3b6f7e6d6f8bbd87b1a8b4e74a07 (diff) | |
| parent | 875bdd5dbe663a6dafd785b86c8964a90653eeb7 (diff) | |
| download | rust-aba84894d1879a7429d5bc20d0bfdca3471685de.tar.gz rust-aba84894d1879a7429d5bc20d0bfdca3471685de.zip | |
Rollup merge of #62330 - SimonSapin:no-drop-in-union-fields, r=RalfJung
Change untagged_unions to not allow union fields with drop This is a rebase of #56440, massaged to solve merge conflicts and make the test suite pass. Change untagged_unions to not allow union fields with drop Union fields may now never have a type with attached destructor. This for example allows unions to use arbitrary field types only by wrapping them in `ManuallyDrop` (or similar). The stable rule remains, that union fields must be `Copy`. We use the new rule for the `untagged_union` feature. Tracking issue: https://github.com/rust-lang/rust/issues/55149
Diffstat (limited to 'src/doc/rustc')
| -rw-r--r-- | src/doc/rustc/src/lints/listing/warn-by-default.md | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/src/doc/rustc/src/lints/listing/warn-by-default.md b/src/doc/rustc/src/lints/listing/warn-by-default.md index e486240fda8..813d7c4bafe 100644 --- a/src/doc/rustc/src/lints/listing/warn-by-default.md +++ b/src/doc/rustc/src/lints/listing/warn-by-default.md @@ -596,30 +596,6 @@ warning: function cannot return without recursing | ``` -## unions-with-drop-fields - -This lint detects use of unions that contain fields with possibly non-trivial drop code. Some -example code that triggers this lint: - -```rust -#![feature(untagged_unions)] - -union U { - s: String, -} -``` - -This will produce: - -```text -warning: union contains a field with possibly non-trivial drop code, drop code of union fields is ignored when dropping the union - --> src/main.rs:4:5 - | -4 | s: String, - | ^^^^^^^^^ - | -``` - ## unknown-lints This lint detects unrecognized lint attribute. Some |
