From a2b7367a88fa2608df73e06e3ac058350532fb2e Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Fri, 27 Dec 2013 15:14:10 -0800 Subject: libsyntax: De-`@mut` `HandlerT::err_count` --- src/libsyntax/diagnostic.rs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/libsyntax') diff --git a/src/libsyntax/diagnostic.rs b/src/libsyntax/diagnostic.rs index bb7cb81a31a..51962aff781 100644 --- a/src/libsyntax/diagnostic.rs +++ b/src/libsyntax/diagnostic.rs @@ -11,6 +11,7 @@ use codemap::{Pos, Span}; use codemap; +use std::cell::Cell; use std::io; use std::io::stdio::StdWriter; use std::local_data; @@ -64,7 +65,7 @@ impl SpanHandler { // (fatal, bug, unimpl) may cause immediate exit, // others log errors for later reporting. pub struct Handler { - err_count: uint, + err_count: Cell, emit: @Emitter, } @@ -78,22 +79,22 @@ impl Handler { self.bump_err_count(); } pub fn bump_err_count(@mut self) { - self.err_count += 1u; + self.err_count.set(self.err_count.get() + 1u); } pub fn err_count(@mut self) -> uint { - self.err_count + self.err_count.get() } pub fn has_errors(@mut self) -> bool { - self.err_count > 0u + self.err_count.get()> 0u } pub fn abort_if_errors(@mut self) { let s; - match self.err_count { + match self.err_count.get() { 0u => return, 1u => s = ~"aborting due to previous error", _ => { s = format!("aborting due to {} previous errors", - self.err_count); + self.err_count.get()); } } self.fatal(s); @@ -138,7 +139,7 @@ pub fn mk_handler(emitter: Option<@Emitter>) -> @mut Handler { }; @mut Handler { - err_count: 0, + err_count: Cell::new(0), emit: emit, } } -- cgit 1.4.1-3-g733a5