about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2013-08-11 13:26:59 -0400
committerNiko Matsakis <niko@alum.mit.edu>2013-08-11 13:26:59 -0400
commit3aefb9649d15c16acef4eb465b06b598b3a1f179 (patch)
tree9239a86787ceebfe98e0d09d36dab587ce95b195
parent96254b4090a86767d1a3b387158464ece44160fa (diff)
downloadrust-3aefb9649d15c16acef4eb465b06b598b3a1f179.tar.gz
rust-3aefb9649d15c16acef4eb465b06b598b3a1f179.zip
librustc: Convert from `@Object` to `@mut Object` as needed
-rw-r--r--src/librustc/driver/driver.rs2
-rw-r--r--src/librustc/driver/session.rs4
-rw-r--r--src/librustc/metadata/creader.rs6
-rw-r--r--src/librustc/metadata/encoder.rs4
-rw-r--r--src/librustc/metadata/loader.rs4
-rw-r--r--src/librustc/metadata/tyencode.rs2
-rw-r--r--src/librustc/middle/lint.rs6
-rw-r--r--src/librustc/middle/ty.rs7
8 files changed, 19 insertions, 16 deletions
diff --git a/src/librustc/driver/driver.rs b/src/librustc/driver/driver.rs
index fdf88757469..0e7dc3b2fcd 100644
--- a/src/librustc/driver/driver.rs
+++ b/src/librustc/driver/driver.rs
@@ -785,7 +785,7 @@ pub fn build_session(sopts: @session::options,
 pub fn build_session_(sopts: @session::options,
                       cm: @codemap::CodeMap,
                       demitter: diagnostic::Emitter,
-                      span_diagnostic_handler: @diagnostic::span_handler)
+                      span_diagnostic_handler: @mut diagnostic::span_handler)
                    -> Session {
     let target_cfg = build_target_config(sopts, demitter);
     let p_s = parse::new_parse_sess_special_handler(span_diagnostic_handler,
diff --git a/src/librustc/driver/session.rs b/src/librustc/driver/session.rs
index d725e2db1eb..cf62e35488b 100644
--- a/src/librustc/driver/session.rs
+++ b/src/librustc/driver/session.rs
@@ -192,7 +192,7 @@ pub struct Session_ {
     // For a library crate, this is always none
     entry_fn: @mut Option<(NodeId, codemap::span)>,
     entry_type: @mut Option<EntryFnType>,
-    span_diagnostic: @diagnostic::span_handler,
+    span_diagnostic: @mut diagnostic::span_handler,
     filesearch: @filesearch::FileSearch,
     building_library: @mut bool,
     working_dir: Path,
@@ -261,7 +261,7 @@ impl Session_ {
     pub fn next_node_id(@self) -> ast::NodeId {
         return syntax::parse::next_node_id(self.parse_sess);
     }
-    pub fn diagnostic(@self) -> @diagnostic::span_handler {
+    pub fn diagnostic(@self) -> @mut diagnostic::span_handler {
         self.span_diagnostic
     }
     pub fn debugging_opt(@self, opt: uint) -> bool {
diff --git a/src/librustc/metadata/creader.rs b/src/librustc/metadata/creader.rs
index 82f5c4f8843..eaf01241c81 100644
--- a/src/librustc/metadata/creader.rs
+++ b/src/librustc/metadata/creader.rs
@@ -29,7 +29,7 @@ use syntax::oldvisit;
 
 // Traverses an AST, reading all the information about use'd crates and extern
 // libraries necessary for later resolving, typechecking, linking, etc.
-pub fn read_crates(diag: @span_handler,
+pub fn read_crates(diag: @mut span_handler,
                    crate: &ast::Crate,
                    cstore: @mut cstore::CStore,
                    filesearch: @FileSearch,
@@ -74,7 +74,7 @@ fn dump_crates(crate_cache: &[cache_entry]) {
 }
 
 fn warn_if_multiple_versions(e: @mut Env,
-                             diag: @span_handler,
+                             diag: @mut span_handler,
                              crate_cache: &[cache_entry]) {
     use std::either::*;
 
@@ -113,7 +113,7 @@ fn warn_if_multiple_versions(e: @mut Env,
 }
 
 struct Env {
-    diag: @span_handler,
+    diag: @mut span_handler,
     filesearch: @FileSearch,
     cstore: @mut cstore::CStore,
     os: loader::os,
diff --git a/src/librustc/metadata/encoder.rs b/src/librustc/metadata/encoder.rs
index c4919e7f263..9366d757dd4 100644
--- a/src/librustc/metadata/encoder.rs
+++ b/src/librustc/metadata/encoder.rs
@@ -55,7 +55,7 @@ pub type encode_inlined_item<'self> = &'self fn(ecx: &EncodeContext,
                                    ii: ast::inlined_item);
 
 pub struct EncodeParams<'self> {
-    diag: @span_handler,
+    diag: @mut span_handler,
     tcx: ty::ctxt,
     reexports2: middle::resolve::ExportMap2,
     item_symbols: &'self HashMap<ast::NodeId, ~str>,
@@ -82,7 +82,7 @@ struct Stats {
 }
 
 pub struct EncodeContext<'self> {
-    diag: @span_handler,
+    diag: @mut span_handler,
     tcx: ty::ctxt,
     stats: @mut Stats,
     reexports2: middle::resolve::ExportMap2,
diff --git a/src/librustc/metadata/loader.rs b/src/librustc/metadata/loader.rs
index 704a22ec979..554cdf4b2b4 100644
--- a/src/librustc/metadata/loader.rs
+++ b/src/librustc/metadata/loader.rs
@@ -43,7 +43,7 @@ pub enum os {
 }
 
 pub struct Context {
-    diag: @span_handler,
+    diag: @mut span_handler,
     filesearch: @FileSearch,
     span: span,
     ident: @str,
@@ -163,7 +163,7 @@ pub fn package_id_from_metas(metas: &[@ast::MetaItem]) -> Option<@str> {
 }
 
 pub fn note_linkage_attrs(intr: @ident_interner,
-                          diag: @span_handler,
+                          diag: @mut span_handler,
                           attrs: ~[ast::Attribute]) {
     let r = attr::find_linkage_metas(attrs);
     for mi in r.iter() {
diff --git a/src/librustc/metadata/tyencode.rs b/src/librustc/metadata/tyencode.rs
index ffd79433b76..915729d254f 100644
--- a/src/librustc/metadata/tyencode.rs
+++ b/src/librustc/metadata/tyencode.rs
@@ -25,7 +25,7 @@ use syntax::diagnostic::span_handler;
 use syntax::print::pprust::*;
 
 pub struct ctxt {
-    diag: @span_handler,
+    diag: @mut span_handler,
     // Def -> str Callback:
     ds: @fn(def_id) -> ~str,
     // The type context.
diff --git a/src/librustc/middle/lint.rs b/src/librustc/middle/lint.rs
index 3a15cbe0f52..76532b5cd22 100644
--- a/src/librustc/middle/lint.rs
+++ b/src/librustc/middle/lint.rs
@@ -301,7 +301,7 @@ enum AnyVisitor {
     // recursive call can use the original visitor's method, although the
     // recursing visitor supplied to the method is the item stopping visitor.
     OldVisitor(oldvisit::vt<@mut Context>, oldvisit::vt<@mut Context>),
-    NewVisitor(@visit::Visitor<()>),
+    NewVisitor(@mut visit::Visitor<()>),
 }
 
 struct Context {
@@ -465,7 +465,7 @@ impl Context {
         self.visitors.push(OldVisitor(v, item_stopping_visitor(v)));
     }
 
-    fn add_lint(&mut self, v: @visit::Visitor<()>) {
+    fn add_lint(&mut self, v: @mut visit::Visitor<()>) {
         self.visitors.push(NewVisitor(v));
     }
 
@@ -989,7 +989,7 @@ fn lint_unused_mut() -> oldvisit::vt<@mut Context> {
     })
 }
 
-fn lint_session(cx: @mut Context) -> @visit::Visitor<()> {
+fn lint_session(cx: @mut Context) -> @mut visit::Visitor<()> {
     ast_util::id_visitor(|id| {
         match cx.tcx.sess.lints.pop(&id) {
             None => {},
diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs
index bba5d85083b..5685af2b74e 100644
--- a/src/librustc/middle/ty.rs
+++ b/src/librustc/middle/ty.rs
@@ -226,13 +226,16 @@ pub enum AutoRef {
     AutoBorrowFn(Region),
 
     /// Convert from T to *T
-    AutoUnsafe(ast::mutability)
+    AutoUnsafe(ast::mutability),
+
+    /// Convert from @Trait/~Trait/&Trait to &Trait
+    AutoBorrowObj(Region, ast::mutability),
 }
 
 pub type ctxt = @ctxt_;
 
 struct ctxt_ {
-    diag: @syntax::diagnostic::span_handler,
+    diag: @mut syntax::diagnostic::span_handler,
     interner: @mut HashMap<intern_key, ~t_box_>,
     next_id: @mut uint,
     cstore: @mut metadata::cstore::CStore,