Use correct BytePos when recovering comments on removed import

This commit is contained in:
Seiichi Uchida 2018-01-10 21:30:41 +09:00
parent 1e7ff38c2d
commit 949708f617

View File

@ -314,11 +314,14 @@ impl<'a> FmtVisitor<'a> {
Some(ref s) if s.is_empty() => {
// Format up to last newline
let prev_span = mk_sp(self.last_pos, source!(self, span).lo());
let span_end = match self.snippet(prev_span).rfind('\n') {
Some(offset) => self.last_pos + BytePos(offset as u32),
None => source!(self, span).lo(),
};
let trimmed_snippet = self.snippet(prev_span).trim_right();
let span_end = self.last_pos + BytePos(trimmed_snippet.len() as u32);
self.format_missing(span_end);
// We have an excessive newline from the removed import.
if self.buffer.ends_with('\n') {
self.buffer.pop();
self.line_number -= 1;
}
self.last_pos = source!(self, span).hi();
}
Some(ref s) => {