From 502817a9c19752cafcc270d9d3e5a5104ce2eac9 Mon Sep 17 00:00:00 2001 From: Seo Sanghyeon Date: Mon, 6 May 2013 23:35:27 +0900 Subject: [PATCH] Fix cross-crate packed structs --- src/librustc/metadata/encoder.rs | 1 + src/test/auxiliary/packed.rs | 5 +++++ src/test/run-pass/packed-struct-size-xc.rs | 8 ++++++++ 3 files changed, 14 insertions(+) create mode 100644 src/test/auxiliary/packed.rs create mode 100644 src/test/run-pass/packed-struct-size-xc.rs diff --git a/src/librustc/metadata/encoder.rs b/src/librustc/metadata/encoder.rs index 6a9c564f36828..7db362c692030 100644 --- a/src/librustc/metadata/encoder.rs +++ b/src/librustc/metadata/encoder.rs @@ -819,6 +819,7 @@ fn encode_info_for_item(ecx: @EncodeContext, } encode_name(ecx, ebml_w, item.ident); + encode_attributes(ebml_w, item.attrs); encode_path(ecx, ebml_w, path, ast_map::path_name(item.ident)); encode_region_param(ecx, ebml_w, item); diff --git a/src/test/auxiliary/packed.rs b/src/test/auxiliary/packed.rs new file mode 100644 index 0000000000000..478d51b540cdf --- /dev/null +++ b/src/test/auxiliary/packed.rs @@ -0,0 +1,5 @@ +#[packed] +struct S { + a: u8, + b: u32 +} diff --git a/src/test/run-pass/packed-struct-size-xc.rs b/src/test/run-pass/packed-struct-size-xc.rs new file mode 100644 index 0000000000000..ddfc2b17aa706 --- /dev/null +++ b/src/test/run-pass/packed-struct-size-xc.rs @@ -0,0 +1,8 @@ +// xfail-fast +// aux-build:packed.rs + +extern mod packed; + +fn main() { + assert_eq!(sys::size_of::(), 5); +}