]> git.lizzy.rs Git - rust.git/commitdiff
Remove remnants of implicit self
authorNiko Matsakis <niko@alum.mit.edu>
Tue, 27 Aug 2013 20:36:42 +0000 (16:36 -0400)
committerNiko Matsakis <niko@alum.mit.edu>
Tue, 27 Aug 2013 20:49:06 +0000 (16:49 -0400)
14 files changed:
src/librustc/middle/astencode.rs
src/librustc/middle/borrowck/check_loans.rs
src/librustc/middle/borrowck/gather_loans/gather_moves.rs
src/librustc/middle/borrowck/gather_loans/lifetime.rs
src/librustc/middle/borrowck/gather_loans/restrictions.rs
src/librustc/middle/borrowck/mod.rs
src/librustc/middle/mem_categorization.rs
src/librustc/middle/moves.rs
src/librustc/middle/resolve.rs
src/librustc/middle/trans/expr.rs
src/librustc/middle/typeck/check/mod.rs
src/librustc/middle/typeck/check/regionck.rs
src/libsyntax/ast.rs
src/libsyntax/ast_util.rs

index bca1a811a13727d17b14b3386a41a298a84a038d..c9727db3f5bca543ad22ea57624a15cd97156c6c 100644 (file)
@@ -383,7 +383,7 @@ fn tr(&self, xcx: @ExtendedDecodeContext) -> ast::def {
             ast::def_method(did0.tr(xcx), did1.map(|did1| did1.tr(xcx)))
           }
           ast::def_self_ty(nid) => { ast::def_self_ty(xcx.tr_id(nid)) }
-          ast::def_self(nid, i) => { ast::def_self(xcx.tr_id(nid), i) }
+          ast::def_self(nid) => { ast::def_self(xcx.tr_id(nid)) }
           ast::def_mod(did) => { ast::def_mod(did.tr(xcx)) }
           ast::def_foreign_mod(did) => { ast::def_foreign_mod(did.tr(xcx)) }
           ast::def_static(did, m) => { ast::def_static(did.tr(xcx), m) }
index 70a71f8ad9f3e4b23efd27f7b4d38d2c1c547d5b..df918caac373e4a45bb3e9fcec7f0bca2a2e8dbc 100644 (file)
@@ -352,7 +352,6 @@ fn mark_variable_as_used_mut(this: &CheckLoanCtxt,
 
                     mc::cat_rvalue(*) |
                     mc::cat_static_item |
-                    mc::cat_implicit_self |
                     mc::cat_copied_upvar(*) |
                     mc::cat_deref(_, _, mc::unsafe_ptr(*)) |
                     mc::cat_deref(_, _, mc::gc_ptr(*)) |
@@ -435,7 +434,6 @@ fn check_for_aliasability_violation(this: &CheckLoanCtxt,
                     mc::cat_self(*) |
                     mc::cat_deref(_, _, mc::unsafe_ptr(*)) |
                     mc::cat_static_item(*) |
-                    mc::cat_implicit_self(*) |
                     mc::cat_deref(_, _, mc::gc_ptr(_)) |
                     mc::cat_deref(_, _, mc::region_ptr(m_const, _)) |
                     mc::cat_deref(_, _, mc::region_ptr(m_imm, _)) => {
index 24a6e5b6e0b2b230cf4c5348c24466fa3e2606a7..d6f9d1db7df8830220d1b321f8366b2c63638709 100644 (file)
@@ -100,7 +100,6 @@ fn check_is_legal_to_move_from(bccx: @BorrowckCtxt,
                                cmt0: mc::cmt,
                                cmt: mc::cmt) -> bool {
     match cmt.cat {
-        mc::cat_implicit_self(*) |
         mc::cat_deref(_, _, mc::region_ptr(*)) |
         mc::cat_deref(_, _, mc::gc_ptr(*)) |
         mc::cat_deref(_, _, mc::unsafe_ptr(*)) => {
index b315a7a2e72908a677671cd90f6492f79cc1f295..1dcfc515139bb7169c21f84fd0f0ce38f20946cb 100644 (file)
@@ -68,7 +68,6 @@ fn check(&self, cmt: mc::cmt, discr_scope: Option<ast::NodeId>) {
 
         match cmt.cat {
             mc::cat_rvalue(*) |
-            mc::cat_implicit_self |
             mc::cat_copied_upvar(*) |                  // L-Local
             mc::cat_local(*) |                         // L-Local
             mc::cat_arg(*) |                           // L-Local
@@ -301,7 +300,6 @@ fn is_moved(&self, cmt: mc::cmt) -> bool {
             }
             mc::cat_rvalue(*) |
             mc::cat_static_item |
-            mc::cat_implicit_self |
             mc::cat_copied_upvar(*) |
             mc::cat_deref(*) => {
                 false
@@ -328,7 +326,6 @@ fn scope(&self, cmt: mc::cmt) -> ty::Region {
             mc::cat_rvalue(cleanup_scope_id) => {
                 ty::re_scope(cleanup_scope_id)
             }
-            mc::cat_implicit_self |
             mc::cat_copied_upvar(_) => {
                 ty::re_scope(self.item_scope_id)
             }
index 3b518cb15904b141e281c576c238c5e943b1d875..ccfef63d9bcba378224d8cdcb8cb407cd5edcd31 100644 (file)
@@ -115,7 +115,6 @@ fn restrict(&self,
 
             mc::cat_copied_upvar(*) | // FIXME(#2152) allow mutation of upvars
             mc::cat_static_item(*) |
-            mc::cat_implicit_self(*) |
             mc::cat_deref(_, _, mc::region_ptr(m_imm, _)) |
             mc::cat_deref(_, _, mc::gc_ptr(m_imm)) => {
                 // R-Deref-Imm-Borrowed
index a84716bd73f8d06348a0eb98a43c180e36019ef7..4490fe65d91817e5fde4c4b3f53d6cd1b20ffef8 100644 (file)
@@ -284,8 +284,7 @@ pub fn opt_loan_path(cmt: mc::cmt) -> Option<@LoanPath> {
     match cmt.cat {
         mc::cat_rvalue(*) |
         mc::cat_static_item |
-        mc::cat_copied_upvar(_) |
-        mc::cat_implicit_self => {
+        mc::cat_copied_upvar(_) => {
             None
         }
 
index c38677adfbfa5b34488ae97d8f8b1725417354b2..8be9a5db8bbbb7df69777fad3cabc6045c4313c6 100644 (file)
@@ -61,7 +61,6 @@
 pub enum categorization {
     cat_rvalue(ast::NodeId),           // temporary val, argument is its scope
     cat_static_item,
-    cat_implicit_self,
     cat_copied_upvar(CopiedUpvar),     // upvar copied into @fn or ~fn env
     cat_stack_upvar(cmt),              // by ref upvar from &fn
     cat_local(ast::NodeId),            // local variable
@@ -493,17 +492,11 @@ pub fn cat_def(&self,
             }
           }
 
-          ast::def_self(self_id, is_implicit) => {
-            let cat = if is_implicit {
-                cat_implicit_self
-            } else {
-                cat_self(self_id)
-            };
-
+          ast::def_self(self_id) => {
             @cmt_ {
                 id:id,
                 span:span,
-                cat:cat,
+                cat:cat_self(self_id),
                 mutbl: McImmutable,
                 ty:expr_ty
             }
@@ -1016,9 +1009,6 @@ pub fn cmt_to_str(&self, cmt: cmt) -> ~str {
           cat_static_item => {
               ~"static item"
           }
-          cat_implicit_self => {
-              ~"self reference"
-          }
           cat_copied_upvar(_) => {
               ~"captured outer variable in a heap closure"
           }
@@ -1121,7 +1111,6 @@ pub fn guarantor(@self) -> cmt {
         match self.cat {
             cat_rvalue(*) |
             cat_static_item |
-            cat_implicit_self |
             cat_copied_upvar(*) |
             cat_local(*) |
             cat_self(*) |
@@ -1167,8 +1156,7 @@ pub fn freely_aliasable(&self) -> Option<AliasableReason> {
             }
 
             cat_copied_upvar(CopiedUpvar {onceness: ast::Many, _}) |
-            cat_static_item(*) |
-            cat_implicit_self(*) => {
+            cat_static_item(*) => {
                 Some(AliasableOther)
             }
 
@@ -1206,7 +1194,6 @@ impl Repr for categorization {
     fn repr(&self, tcx: ty::ctxt) -> ~str {
         match *self {
             cat_static_item |
-            cat_implicit_self |
             cat_rvalue(*) |
             cat_copied_upvar(*) |
             cat_local(*) |
index 0c553843cd1b2dd713eaec618d30ea25da345679..ebd9b2b2223442cbfbadd2bb4c7a49ddeb7f476f 100644 (file)
@@ -218,7 +218,7 @@ pub fn moved_variable_node_id_from_def(def: def) -> Option<NodeId> {
       def_binding(nid, _) |
       def_arg(nid, _) |
       def_local(nid, _) |
-      def_self(nid, _) => Some(nid),
+      def_self(nid) => Some(nid),
 
       _ => None
     }
index 9654bf3fc01fbeacf60076c7fc0e12267b5026f6..351f4f8277a02eb4f628c981e096da78ca159e1f 100644 (file)
@@ -125,7 +125,7 @@ pub enum Mutability {
 
 pub enum SelfBinding {
     NoSelfBinding,
-    HasSelfBinding(NodeId, bool /* is implicit */)
+    HasSelfBinding(NodeId)
 }
 
 struct ResolveVisitor {
@@ -3769,9 +3769,8 @@ pub fn resolve_function(@mut self,
                 NoSelfBinding => {
                     // Nothing to do.
                 }
-                HasSelfBinding(self_node_id, is_implicit) => {
-                    let def_like = dl_def(def_self(self_node_id,
-                                                   is_implicit));
+                HasSelfBinding(self_node_id) => {
+                    let def_like = dl_def(def_self(self_node_id));
                     *function_value_rib.self_binding = Some(def_like);
                 }
             }
@@ -3915,7 +3914,7 @@ pub fn resolve_method(@mut self,
         // we only have self ty if it is a non static method
         let self_binding = match method.explicit_self.node {
           sty_static => { NoSelfBinding }
-          _ => { HasSelfBinding(method.self_id, false) }
+          _ => { HasSelfBinding(method.self_id) }
         };
 
         self.resolve_function(rib_kind,
index 2ce8756848fa818b710307d5ece1e98a99d3cd3a..4b31b9123532ce95f91006019185410f610eb364 100644 (file)
@@ -1088,7 +1088,7 @@ pub fn trans_local_var(bcx: @mut Block, def: ast::def) -> Datum {
         ast::def_local(nid, _) | ast::def_binding(nid, _) => {
             take_local(bcx, bcx.fcx.lllocals, nid)
         }
-        ast::def_self(nid, _) => {
+        ast::def_self(nid) => {
             let self_info: ValSelfData = match bcx.fcx.llself {
                 Some(ref self_info) => *self_info,
                 None => {
index ad6bf69d55ad6c22a439223bf7ab86efc8be2569..8f7d8ac186ee60c1f4d495e3ae2b75f6d952f313 100644 (file)
@@ -3094,7 +3094,7 @@ pub fn ty_param_bounds_and_ty_for_def(fcx: @mut FnCtxt,
                                    -> ty_param_bounds_and_ty {
 
     match defn {
-      ast::def_arg(nid, _) | ast::def_local(nid, _) | ast::def_self(nid, _) |
+      ast::def_arg(nid, _) | ast::def_local(nid, _) | ast::def_self(nid) |
       ast::def_binding(nid, _) => {
           let typ = fcx.local_ty(sp, nid);
           return no_params(typ);
index 05f1323805b3527a4479bced18fc026e0f023375..b25d81056b0c06ffd7412ff8b8f85ec45909b707 100644 (file)
@@ -58,7 +58,7 @@ fn encl_region_of_def(fcx: @mut FnCtxt, def: ast::def) -> ty::Region {
     let tcx = fcx.tcx();
     match def {
         def_local(node_id, _) | def_arg(node_id, _) |
-        def_self(node_id, _) | def_binding(node_id, _) => {
+        def_self(node_id) | def_binding(node_id, _) => {
             tcx.region_maps.encl_region(node_id)
         }
         def_upvar(_, subdef, closure_id, body_id) => {
index b01c19a59c18630b00dc07762252e469f4e8a982..f09c7427ecc7f1c1241f955842a220ab71bbce87 100644 (file)
@@ -171,7 +171,7 @@ pub enum def {
     def_static_method(/* method */ def_id,
                       /* trait */  Option<def_id>,
                       purity),
-    def_self(NodeId, bool /* is_implicit */),
+    def_self(NodeId),
     def_self_ty(/* trait id */ NodeId),
     def_mod(def_id),
     def_foreign_mod(def_id),
index cfbe61ca65e682726add25c8286f1b00c468e2ff..a39da4301ba332a873a48edf2d58ef45eda3916c 100644 (file)
@@ -64,7 +64,7 @@ pub fn def_id_of_def(d: def) -> def_id {
       def_use(id) | def_struct(id) | def_trait(id) | def_method(id, _) => {
         id
       }
-      def_arg(id, _) | def_local(id, _) | def_self(id, _) | def_self_ty(id)
+      def_arg(id, _) | def_local(id, _) | def_self(id) | def_self_ty(id)
       | def_upvar(id, _, _, _) | def_binding(id, _) | def_region(id)
       | def_typaram_binder(id) | def_label(id) => {
         local_def(id)