From 4a3edb320dd515fd98431997d4bdb1ffa31446bd Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Mon, 18 Oct 2010 18:19:16 -0700 Subject: Store items and decls in vecs to preserve input order, index externally. Implement block-local name lookup. --- src/comp/util/common.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/comp/util/common.rs') diff --git a/src/comp/util/common.rs b/src/comp/util/common.rs index cbf7aadf..a5b77c0e 100644 --- a/src/comp/util/common.rs +++ b/src/comp/util/common.rs @@ -47,6 +47,15 @@ fn istr(int i) -> str { ret _int.to_str(i, 10u); } + +// FIXME: Weird bug. Due to the way we auto-deref + in +=, we can't append a +// boxed value to a vector-of-boxes using +=. Best to figure out a way to fix +// this. Deref-on-demand or something? It's a hazard of the ambiguity between +// single-element and vector append. +fn append[T](&vec[T] v, &T t) { + v += t; +} + // // Local Variables: // mode: rust -- cgit v1.2.3