diff options
| author | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2016-06-17 10:05:19 +0100 |
|---|---|---|
| committer | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2016-06-17 10:05:19 +0100 |
| commit | 9de2de1d217c1af856d8f323d2e36a19da5ff8bb (patch) | |
| tree | f41a7133560844d37618dda2a0ea716a33f710a0 /src/test/pretty | |
| parent | be203ac258365a2fb85a40314708d26112c40381 (diff) | |
| download | rust-9de2de1d217c1af856d8f323d2e36a19da5ff8bb.tar.gz rust-9de2de1d217c1af856d8f323d2e36a19da5ff8bb.zip | |
Pretty-print attributes on tuple structs and add tests
This adds support to the pretty printer to print attributes added to tuple struct elements. Furthermore, it adds a test that makes sure we will print attributes on all variant data types.
Diffstat (limited to 'src/test/pretty')
| -rw-r--r-- | src/test/pretty/attr-variant-data.rs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/test/pretty/attr-variant-data.rs b/src/test/pretty/attr-variant-data.rs new file mode 100644 index 00000000000..1ffacaa9f5a --- /dev/null +++ b/src/test/pretty/attr-variant-data.rs @@ -0,0 +1,51 @@ +// Copyright 2012 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// pp-exact +// Testing that both the inner item and next outer item are +// preserved, and that the first outer item parsed in main is not +// accidentally carried over to each inner function + +#![feature(custom_attribute)] +#![feature(custom_derive)] + +#[derive(Serialize, Deserialize)] +struct X; + +#[derive(Serialize, Deserialize)] +struct WithRef<'a, T: 'a> { + #[serde(skip_deserializing)] + t: Option<&'a T>, + #[serde(serialize_with = "ser_x", deserialize_with = "de_x")] + x: X, +} + +#[derive(Serialize, Deserialize)] +enum EnumWith<T> { + Unit, + Newtype( + #[serde(serialize_with = "ser_x", deserialize_with = "de_x")] + X), + Tuple(T, + #[serde(serialize_with = "ser_x", deserialize_with = "de_x")] + X), + Struct { + t: T, + #[serde(serialize_with = "ser_x", deserialize_with = "de_x")] + x: X, + }, +} + +#[derive(Serialize, Deserialize)] +struct Tuple<T>(T, + #[serde(serialize_with = "ser_x", deserialize_with = "de_x")] + X); + +fn main() { } |
