about summary refs log tree commit diff
path: root/src/doc/rustc
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-10-21 22:00:45 +0200
committerGitHub <noreply@github.com>2019-10-21 22:00:45 +0200
commitaba84894d1879a7429d5bc20d0bfdca3471685de (patch)
tree5c11f19bd3b62b335a5a189f49b0ef2a6c3bc2f2 /src/doc/rustc
parent10f12fe3e73f3b6f7e6d6f8bbd87b1a8b4e74a07 (diff)
parent875bdd5dbe663a6dafd785b86c8964a90653eeb7 (diff)
downloadrust-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.md24
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