Fix pretty printer when there are multiple lifetime parameters

This commit is contained in:
Niko Matsakis 2013-11-08 22:25:22 -05:00
parent 98f79735c3
commit 044dec4cf5
2 changed files with 14 additions and 7 deletions

View file

@ -1572,17 +1572,24 @@ fn print_path_(s: @ps,
}
word(s.s, "<");
let mut comma = false;
for lifetime in segment.lifetimes.iter() {
print_lifetime(s, lifetime);
if !segment.types.is_empty() {
if comma {
word_space(s, ",")
}
print_lifetime(s, lifetime);
comma = true;
}
commasep(s,
inconsistent,
segment.types.map_to_vec(|t| (*t).clone()),
print_type);
if !segment.types.is_empty() {
if comma {
word_space(s, ",")
}
commasep(s,
inconsistent,
segment.types.map_to_vec(|t| (*t).clone()),
print_type);
}
word(s.s, ">")
}

View file

@ -27,7 +27,7 @@ fn use_<'short,'long>(c: Invariant<'long>,
// 'short <= 'long, this would be true if the Invariant type were
// contravariant with respect to its parameter 'a.
let _: Invariant<'short> = c; //~ ERROR lifetime mistach
let _: Invariant<'short> = c; //~ ERROR mismatched types
}
fn main() { }