From 210db7d8d4d0b65a2ae2b113ef50740c20cbd910 Mon Sep 17 00:00:00 2001 From: Tim Chevalier Date: Fri, 15 Jun 2012 14:55:36 -0700 Subject: [PATCH] Test case for #2631 --- src/test/auxiliary/issue-2631-a.rs | 15 +++++++++++++++ src/test/run-pass/issue-2631-b.rs | 17 +++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 src/test/auxiliary/issue-2631-a.rs create mode 100644 src/test/run-pass/issue-2631-b.rs diff --git a/src/test/auxiliary/issue-2631-a.rs b/src/test/auxiliary/issue-2631-a.rs new file mode 100644 index 000000000000..c2503bde277c --- /dev/null +++ b/src/test/auxiliary/issue-2631-a.rs @@ -0,0 +1,15 @@ +#[link(name = "req")]; +#[crate_type = "lib"]; + +use std; + +import dvec::*; +import dvec::dvec; +import std::map::hashmap; + +type header_map = hashmap>; + +// the unused ty param is necessary so this gets monomorphized +fn request(req: header_map) { + let _x = *(*req.get("METHOD"))[0u]; +} diff --git a/src/test/run-pass/issue-2631-b.rs b/src/test/run-pass/issue-2631-b.rs new file mode 100644 index 000000000000..5e0e03028392 --- /dev/null +++ b/src/test/run-pass/issue-2631-b.rs @@ -0,0 +1,17 @@ +// xfail-fast +// aux-build:issue-2631-a.rs + +use req; +use std; + +import req::*; +import std::map::*; +import std::map::str_hash; +import dvec; + +fn main() { + let v = [mut @"hi"]; + let m: req::header_map = str_hash(); + m.insert("METHOD", @dvec::from_vec(v)); + request::(m); +}