diff options
| author | bors <bors@rust-lang.org> | 2024-11-23 07:47:52 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-11-23 07:47:52 +0000 |
| commit | 6e1c11591fc7e98015f8e793a15c8faf0bda67f1 (patch) | |
| tree | fadaf2abbac0b2db1e397ee1e4ac682d3769cf2c /src/tools | |
| parent | c49a687d636e3464cdc6599fb562c29470526b01 (diff) | |
| parent | 9022bb2d6f49c328ef463d95caa4959fac63c478 (diff) | |
| download | rust-6e1c11591fc7e98015f8e793a15c8faf0bda67f1.tar.gz rust-6e1c11591fc7e98015f8e793a15c8faf0bda67f1.zip | |
Auto merge of #132915 - veluca93:unsafe-fields, r=jswrenn
Implement the unsafe-fields RFC. RFC: rust-lang/rfcs#3458 Tracking: - https://github.com/rust-lang/rust/issues/132922 r? jswrenn
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/rustfmt/src/items.rs | 6 | ||||
| -rw-r--r-- | src/tools/rustfmt/tests/source/unsafe-field.rs | 16 | ||||
| -rw-r--r-- | src/tools/rustfmt/tests/target/unsafe-field.rs | 11 |
3 files changed, 30 insertions, 3 deletions
diff --git a/src/tools/rustfmt/src/items.rs b/src/tools/rustfmt/src/items.rs index 68c481bda6e..18932587f1f 100644 --- a/src/tools/rustfmt/src/items.rs +++ b/src/tools/rustfmt/src/items.rs @@ -1916,15 +1916,15 @@ pub(crate) fn rewrite_struct_field_prefix( field: &ast::FieldDef, ) -> RewriteResult { let vis = format_visibility(context, &field.vis); + let safety = format_safety(field.safety); let type_annotation_spacing = type_annotation_spacing(context.config); Ok(match field.ident { Some(name) => format!( - "{}{}{}:", - vis, + "{vis}{safety}{}{}:", rewrite_ident(context, name), type_annotation_spacing.0 ), - None => vis.to_string(), + None => format!("{vis}{safety}"), }) } diff --git a/src/tools/rustfmt/tests/source/unsafe-field.rs b/src/tools/rustfmt/tests/source/unsafe-field.rs new file mode 100644 index 00000000000..35cf40a22d3 --- /dev/null +++ b/src/tools/rustfmt/tests/source/unsafe-field.rs @@ -0,0 +1,16 @@ +struct Foo { + unsafe + field: (), +} + +enum Bar { + Variant { + unsafe + field: (), + }, +} + +union Baz { + unsafe + field: (), +} diff --git a/src/tools/rustfmt/tests/target/unsafe-field.rs b/src/tools/rustfmt/tests/target/unsafe-field.rs new file mode 100644 index 00000000000..fc7fd3750c6 --- /dev/null +++ b/src/tools/rustfmt/tests/target/unsafe-field.rs @@ -0,0 +1,11 @@ +struct Foo { + unsafe field: (), +} + +enum Bar { + Variant { unsafe field: () }, +} + +union Baz { + unsafe field: (), +} |
