From 4e376852e709844d67f94430d9dc954d5be722b4 Mon Sep 17 00:00:00 2001 From: Roy Frostig Date: Thu, 12 Aug 2010 16:21:08 -0700 Subject: Fix max_sz bug that ended up causing us to index incorrectly into a vec of tag types. Add a testcase. --- src/test/run-pass/size-and-align.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/test/run-pass/size-and-align.rs (limited to 'src/test') diff --git a/src/test/run-pass/size-and-align.rs b/src/test/run-pass/size-and-align.rs new file mode 100644 index 00000000..94fa3bc1 --- /dev/null +++ b/src/test/run-pass/size-and-align.rs @@ -0,0 +1,18 @@ +// -*- rust -*- + +use std; +import std._vec; + +type clam[T] = tag(a(T, int), b()); + +fn uhoh[T](vec[clam[T]] v) { + alt (v.(1)) { + case (a[T](t, u)) { log "incorrect"; log u; fail; } + case (b[T]()) { log "correct"; } + } +} + +fn main() { + let vec[clam[int]] v = vec(b[int](), b[int](), a[int](42, 17)); + uhoh[int](v); +} -- cgit v1.2.3