lalrpop/src/util.rs
Niko Matsakis 9200285d49 Rewrite type inferencer to produce a separate Types table
using a simpler types grammar than rewrite the tree in place
2015-06-17 06:05:11 -04:00

19 lines
509 B
Rust

use std::fmt::{Display, Formatter, Error};
pub struct Sep<S>(pub &'static str, pub S);
impl<'a,S:Display> Display for Sep<&'a Vec<S>> {
fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error> {
let &Sep(sep, vec) = self;
let mut elems = vec.iter();
if let Some(elem) = elems.next() {
try!(write!(fmt, "{}", elem));
while let Some(elem) = elems.next() {
try!(write!(fmt, "{}{}", sep, elem));
}
}
Ok(())
}
}