summaryrefslogtreecommitdiffstats
path: root/src/tools/rustfmt/tests/source/struct-field-attributes.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/rustfmt/tests/source/struct-field-attributes.rs')
-rw-r--r--src/tools/rustfmt/tests/source/struct-field-attributes.rs52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/tools/rustfmt/tests/source/struct-field-attributes.rs b/src/tools/rustfmt/tests/source/struct-field-attributes.rs
new file mode 100644
index 000000000..76d6eda88
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/struct-field-attributes.rs
@@ -0,0 +1,52 @@
+// #1535
+#![feature(struct_field_attributes)]
+
+struct Foo {
+ bar: u64,
+
+ #[cfg(test)]
+ qux: u64,
+}
+
+fn do_something() -> Foo {
+ Foo {
+ bar: 0,
+
+ #[cfg(test)]
+ qux: 1,
+ }
+}
+
+fn main() {
+ do_something();
+}
+
+// #1462
+struct Foo {
+ foo: usize,
+ #[cfg(feature="include-bar")]
+ bar: usize,
+}
+
+fn new_foo() -> Foo {
+ Foo {
+ foo: 0,
+ #[cfg(feature="include-bar")]
+ bar: 0,
+ }
+}
+
+// #2044
+pub enum State {
+ Closure(#[cfg_attr(feature = "serde_derive", serde(state_with = "::serialization::closure"))] GcPtr<ClosureData>),
+}
+
+struct Fields(
+ #[cfg_attr(feature = "serde_derive", serde(state_with = "::base::serialization::shared"))] Arc<Vec<InternedStr>>,
+);
+
+// #2309
+pub struct A {
+#[doc="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"]
+pub foos:Vec<bool>
+}