]> git.lizzy.rs Git - rust.git/commitdiff
merge TypeckItemBody and Tables depnodes
authorNiko Matsakis <niko@alum.mit.edu>
Thu, 12 Jan 2017 23:11:02 +0000 (18:11 -0500)
committerNiko Matsakis <niko@alum.mit.edu>
Wed, 25 Jan 2017 20:50:47 +0000 (15:50 -0500)
31 files changed:
src/librustc/dep_graph/README.md
src/librustc/dep_graph/dep_node.rs
src/librustc_incremental/persist/dirty_clean.rs
src/librustc_incremental/persist/preds.rs
src/librustc_typeck/check/mod.rs
src/test/compile-fail/dep-graph-assoc-type-trans.rs
src/test/compile-fail/dep-graph-caller-callee.rs
src/test/compile-fail/dep-graph-trait-impl-two-traits-same-method.rs
src/test/compile-fail/dep-graph-trait-impl-two-traits.rs
src/test/compile-fail/dep-graph-trait-impl.rs
src/test/incremental/add_private_fn_at_krate_root_cc/struct_point.rs
src/test/incremental/callee_caller_cross_crate/b.rs
src/test/incremental/change_add_field/struct_point.rs
src/test/incremental/change_crate_order/main.rs
src/test/incremental/change_private_fn/struct_point.rs
src/test/incremental/change_private_fn_cc/struct_point.rs
src/test/incremental/change_private_impl_method/struct_point.rs
src/test/incremental/change_private_impl_method_cc/struct_point.rs
src/test/incremental/change_pub_inherent_method_body/struct_point.rs
src/test/incremental/change_pub_inherent_method_sig/struct_point.rs
src/test/incremental/dirty_clean.rs
src/test/incremental/hello_world.rs
src/test/incremental/rlib_cross_crate/b.rs
src/test/incremental/string_constant.rs
src/test/incremental/struct_add_field.rs
src/test/incremental/struct_change_field_name.rs
src/test/incremental/struct_change_field_type.rs
src/test/incremental/struct_change_field_type_cross_crate/b.rs
src/test/incremental/struct_change_nothing.rs
src/test/incremental/struct_remove_field.rs
src/test/incremental/type_alias_cross_crate/b.rs

index d2b94db689bc45c63b3bd1de3049739c45736e6e..372f7e2d4482f5940eea5701b3d9a4ec09536983 100644 (file)
@@ -326,15 +326,15 @@ The idea is that you can annotate a test like:
 #[rustc_if_this_changed]
 fn foo() { }
 
-#[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR OK
+#[rustc_then_this_would_need(Tables)] //~ ERROR OK
 fn bar() { foo(); }
 
-#[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR no path
+#[rustc_then_this_would_need(Tables)] //~ ERROR no path
 fn baz() { }
 ```
 
 This will check whether there is a path in the dependency graph from
-`Hir(foo)` to `TypeckItemBody(bar)`. An error is reported for each
+`Hir(foo)` to `Tables(bar)`. An error is reported for each
 `#[rustc_then_this_would_need]` annotation that indicates whether a
 path exists. `//~ ERROR` annotations can then be used to test if a
 path is found (as demonstrated above).
@@ -371,27 +371,27 @@ A node is considered to match a filter if all of those strings appear in its
 label. So, for example:
 
 ```
-RUST_DEP_GRAPH_FILTER='-> TypeckItemBody'
+RUST_DEP_GRAPH_FILTER='-> Tables'
 ```
 
-would select the predecessors of all `TypeckItemBody` nodes. Usually though you
-want the `TypeckItemBody` node for some particular fn, so you might write:
+would select the predecessors of all `Tables` nodes. Usually though you
+want the `Tables` node for some particular fn, so you might write:
 
 ```
-RUST_DEP_GRAPH_FILTER='-> TypeckItemBody & bar'
+RUST_DEP_GRAPH_FILTER='-> Tables & bar'
 ```
 
-This will select only the `TypeckItemBody` nodes for fns with `bar` in their name.
+This will select only the `Tables` nodes for fns with `bar` in their name.
 
 Perhaps you are finding that when you change `foo` you need to re-type-check `bar`,
 but you don't think you should have to. In that case, you might do:
 
 ```
-RUST_DEP_GRAPH_FILTER='Hir&foo -> TypeckItemBody & bar'
+RUST_DEP_GRAPH_FILTER='Hir&foo -> Tables & bar'
 ```
 
 This will dump out all the nodes that lead from `Hir(foo)` to
-`TypeckItemBody(bar)`, from which you can (hopefully) see the source
+`Tables(bar)`, from which you can (hopefully) see the source
 of the erroneous edge.
 
 #### Tracking down incorrect edges
@@ -417,8 +417,8 @@ dep-graph as described in the previous section and open `dep-graph.txt`
 to see something like:
 
     Hir(foo) -> Collect(bar)
-    Collect(bar) -> TypeckItemBody(bar)
-
+    Collect(bar) -> Tables(bar)
+    
 That first edge looks suspicious to you. So you set
 `RUST_FORBID_DEP_GRAPH_EDGE` to `Hir&foo -> Collect&bar`, re-run, and
 then observe the backtrace. Voila, bug fixed!
@@ -440,4 +440,6 @@ To achieve this, the HIR map will detect if the def-id originates in
 an inlined node and add a dependency to a suitable `MetaData` node
 instead. If you are reading a HIR node and are not sure if it may be
 inlined or not, you can use `tcx.map.read(node_id)` and it will detect
-whether the node is inlined or not and do the right thing.
+whether the node is inlined or not and do the right thing.  You can
+also use `tcx.map.is_inlined_def_id()` and
+`tcx.map.is_inlined_node_id()` to test.
index a68876b5ae9c0b6bdbe03bc862f5727317c75b14..bc5113b61d753144cdace857996a07facf0ba570 100644 (file)
@@ -78,7 +78,6 @@ pub enum DepNode<D: Clone + Debug> {
     Variance,
     WfCheck(D),
     TypeckItemType(D),
-    TypeckItemBody(D),
     Dropck,
     DropckImpl(D),
     UnusedTraitCheck,
@@ -158,7 +157,6 @@ macro_rules! check {
             HirBody,
             TransCrateItem,
             TypeckItemType,
-            TypeckItemBody,
             AssociatedItems,
             ItemSignature,
             AssociatedItemDefIds,
@@ -216,7 +214,6 @@ pub fn map_def<E, OP>(&self, mut op: OP) -> Option<DepNode<E>>
             CoherenceOrphanCheck(ref d) => op(d).map(CoherenceOrphanCheck),
             WfCheck(ref d) => op(d).map(WfCheck),
             TypeckItemType(ref d) => op(d).map(TypeckItemType),
-            TypeckItemBody(ref d) => op(d).map(TypeckItemBody),
             DropckImpl(ref d) => op(d).map(DropckImpl),
             CheckConst(ref d) => op(d).map(CheckConst),
             IntrinsicCheck(ref d) => op(d).map(IntrinsicCheck),
index 481462dff86e479289e36f363defdd3598877cd2..b719a759b93ae9c80d0239f7b97c9290368c4791 100644 (file)
 //! we will check that a suitable node for that item either appears
 //! or does not appear in the dep-graph, as appropriate:
 //!
-//! - `#[rustc_dirty(label="TypeckItemBody", cfg="rev2")]` if we are
+//! - `#[rustc_dirty(label="Tables", cfg="rev2")]` if we are
 //!   in `#[cfg(rev2)]`, then there MUST NOT be a node
-//!   `DepNode::TypeckItemBody(X)` where `X` is the def-id of the
+//!   `DepNode::Tables(X)` where `X` is the def-id of the
 //!   current node.
-//! - `#[rustc_clean(label="TypeckItemBody", cfg="rev2")]` same as above,
+//! - `#[rustc_clean(label="Tables", cfg="rev2")]` same as above,
 //!   except that the node MUST exist.
 //!
 //! Errors are reported if we are in the suitable configuration but
index b2a4a2772ec263effe995f25d2c88e0ee4bf4acc..454edbc4d3444a464134b02ccdf19901102c0cb8 100644 (file)
@@ -56,7 +56,7 @@ pub fn new(query: &'q DepGraphQuery<DefId>, hcx: &mut HashContext) -> Self {
 
                 // if -Z query-dep-graph is passed, save more extended data
                 // to enable better unit testing
-                DepNode::TypeckItemBody(_) |
+                DepNode::Tables(_) |
                 DepNode::TransCrateItem(_) => tcx.sess.opts.debugging_opts.query_dep_graph,
 
                 _ => false,
index 02f5d77f249ceac091fb0df79de580b3ca0937e6..ae3578616bc754990d73b43ebcd23b3b28315fca 100644 (file)
@@ -628,14 +628,14 @@ pub fn check_item_types(ccx: &CrateCtxt) -> CompileResult {
 pub fn check_item_bodies(ccx: &CrateCtxt) -> CompileResult {
     ccx.tcx.sess.track_errors(|| {
         let mut visit = CheckItemBodiesVisitor { ccx: ccx };
-        ccx.tcx.visit_all_item_likes_in_krate(DepNode::TypeckItemBody, &mut visit);
+        ccx.tcx.visit_all_item_likes_in_krate(DepNode::Tables, &mut visit);
 
         // Process deferred obligations, now that all functions
         // bodies have been fully inferred.
         for (&item_id, obligations) in ccx.deferred_obligations.borrow().iter() {
             // Use the same DepNode as for the body of the original function/item.
             let def_id = ccx.tcx.map.local_def_id(item_id);
-            let _task = ccx.tcx.dep_graph.in_task(DepNode::TypeckItemBody(def_id));
+            let _task = ccx.tcx.dep_graph.in_task(DepNode::Tables(def_id));
 
             let param_env = ParameterEnvironment::for_item(ccx.tcx, item_id);
             ccx.tcx.infer_ctxt(param_env, Reveal::NotSpecializable).enter(|infcx| {
index b56be9e5683a851a5576eb93152faf1eba7e0e91..ddfd2b661714613492f6fed5acd47d06a7067f21 100644 (file)
@@ -35,7 +35,7 @@ mod x {
 mod y {
     use Foo;
 
-    #[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR OK
+    #[rustc_then_this_would_need(Tables)] //~ ERROR OK
     #[rustc_then_this_would_need(TransCrateItem)] //~ ERROR OK
     pub fn use_char_assoc() {
         // Careful here: in the representation, <char as Foo>::T gets
index 0d6954ab9df6229e5390d647b1c0aabf62fc39c1..8fda05e80856b8fed5ff7af3adcb87cf5954bd7a 100644 (file)
@@ -27,7 +27,7 @@ mod y {
     use x;
 
     // These dependencies SHOULD exist:
-    #[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR OK
+    #[rustc_then_this_would_need(Tables)] //~ ERROR OK
     #[rustc_then_this_would_need(TransCrateItem)] //~ ERROR OK
     pub fn y() {
         x::x();
@@ -39,7 +39,7 @@ mod z {
 
     // These are expected to yield errors, because changes to `x`
     // affect the BODY of `y`, but not its signature.
-    #[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR no path
+    #[rustc_then_this_would_need(Tables)] //~ ERROR no path
     #[rustc_then_this_would_need(TransCrateItem)] //~ ERROR no path
     pub fn z() {
         y::y();
index 5e4f43af669ca540678b83f9c27388bdd78ace3d..75e20d75704f40baea36d490b38632c09c3cc7d5 100644 (file)
@@ -39,7 +39,7 @@ impl Bar for char { }
 mod y {
     use {Foo, Bar};
 
-    #[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR OK
+    #[rustc_then_this_would_need(Tables)] //~ ERROR OK
     pub fn with_char() {
         char::method('a');
     }
@@ -48,7 +48,7 @@ pub fn with_char() {
 mod z {
     use y;
 
-    #[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR no path
+    #[rustc_then_this_would_need(Tables)] //~ ERROR no path
     pub fn z() {
         y::with_char();
     }
index 2ec7573cb81dc133e32acfcbd7281fe53247d394..42318d16e3354f7e7b61f163cc71f4fc855d38c4 100644 (file)
@@ -38,7 +38,7 @@ impl Bar for char { }
 mod y {
     use {Foo, Bar};
 
-    #[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR no path
+    #[rustc_then_this_would_need(Tables)] //~ ERROR no path
     pub fn call_bar() {
         char::bar('a');
     }
@@ -47,7 +47,7 @@ pub fn call_bar() {
 mod z {
     use y;
 
-    #[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR no path
+    #[rustc_then_this_would_need(Tables)] //~ ERROR no path
     pub fn z() {
         y::call_bar();
     }
index d87d7a6be1c280f65018f3bbbecec38514bd6a8e..c3a7445eb4357976a2b4bf01e08e59b5bc67fb67 100644 (file)
@@ -34,25 +34,25 @@ impl Foo for u32 { }
 mod y {
     use Foo;
 
-    #[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR OK
+    #[rustc_then_this_would_need(Tables)] //~ ERROR OK
     #[rustc_then_this_would_need(TransCrateItem)] //~ ERROR OK
     pub fn with_char() {
         char::method('a');
     }
 
-    #[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR OK
+    #[rustc_then_this_would_need(Tables)] //~ ERROR OK
     #[rustc_then_this_would_need(TransCrateItem)] //~ ERROR OK
     pub fn take_foo_with_char() {
         take_foo::<char>('a');
     }
 
-    #[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR OK
+    #[rustc_then_this_would_need(Tables)] //~ ERROR OK
     #[rustc_then_this_would_need(TransCrateItem)] //~ ERROR OK
     pub fn with_u32() {
         u32::method(22);
     }
 
-    #[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR OK
+    #[rustc_then_this_would_need(Tables)] //~ ERROR OK
     #[rustc_then_this_would_need(TransCrateItem)] //~ ERROR OK
     pub fn take_foo_with_u32() {
         take_foo::<u32>(22);
@@ -66,7 +66,7 @@ mod z {
 
     // These are expected to yield errors, because changes to `x`
     // affect the BODY of `y`, but not its signature.
-    #[rustc_then_this_would_need(TypeckItemBody)] //~ ERROR no path
+    #[rustc_then_this_would_need(Tables)] //~ ERROR no path
     #[rustc_then_this_would_need(TransCrateItem)] //~ ERROR no path
     pub fn z() {
         y::with_char();
index 489427ba1c126202be6eafe31f9d379f7a99074a..817d42c74a672bda2ab501f26817966e3df82c75 100644 (file)
@@ -32,7 +32,7 @@
 mod fn_calls_methods_in_same_impl {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn check() {
         let x = Point { x: 2.0, y: 2.0 };
         x.distance_from_origin();
@@ -43,7 +43,7 @@ pub fn check() {
 mod fn_calls_free_fn {
     use point::{self, Point};
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn check() {
         let x = Point { x: 2.0, y: 2.0 };
         point::distance_squared(&x);
@@ -54,7 +54,7 @@ pub fn check() {
 mod fn_make_struct {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn make_origin() -> Point {
         Point { x: 2.0, y: 2.0 }
     }
@@ -64,7 +64,7 @@ pub fn make_origin() -> Point {
 mod fn_read_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn get_x(p: Point) -> f32 {
         p.x
     }
@@ -74,7 +74,7 @@ pub fn get_x(p: Point) -> f32 {
 mod fn_write_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn inc_x(p: &mut Point) {
         p.x += 1.0;
     }
index e8b187b5454f6dbe88cafef8dac49cc7b8b03d98..094fbdc84f2a8c8fd527e71db22324cc2d2565cb 100644 (file)
 
 extern crate a;
 
-#[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_dirty(label="Tables", cfg="rpass2")]
 pub fn call_function0() {
     a::function0(77);
 }
 
-#[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_clean(label="Tables", cfg="rpass2")]
 pub fn call_function1() {
     a::function1(77);
 }
index 261eb38a51aebee089915408fd61f716ff28c0fc..3e9d4dcb3fabd9f128db9593f715e9d8d73ae202 100644 (file)
@@ -79,7 +79,7 @@ pub fn x(&self) -> f32 {
 mod fn_with_type_in_sig {
     use point::Point;
 
-    #[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_dirty(label="Tables", cfg="rpass2")]
     pub fn boop(p: Option<&Point>) -> f32 {
         p.map(|p| p.total()).unwrap_or(0.0)
     }
@@ -95,7 +95,7 @@ pub fn boop(p: Option<&Point>) -> f32 {
 mod call_fn_with_type_in_sig {
     use fn_with_type_in_sig;
 
-    #[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_dirty(label="Tables", cfg="rpass2")]
     pub fn bip() -> f32 {
         fn_with_type_in_sig::boop(None)
     }
@@ -111,7 +111,7 @@ pub fn bip() -> f32 {
 mod fn_with_type_in_body {
     use point::Point;
 
-    #[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_dirty(label="Tables", cfg="rpass2")]
     pub fn boop() -> f32 {
         Point::origin().total()
     }
@@ -124,7 +124,7 @@ pub fn boop() -> f32 {
 mod call_fn_with_type_in_body {
     use fn_with_type_in_body;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn bip() -> f32 {
         fn_with_type_in_body::boop()
     }
@@ -134,7 +134,7 @@ pub fn bip() -> f32 {
 mod fn_make_struct {
     use point::Point;
 
-    #[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_dirty(label="Tables", cfg="rpass2")]
     pub fn make_origin(p: Point) -> Point {
         Point { ..p }
     }
@@ -144,7 +144,7 @@ pub fn make_origin(p: Point) -> Point {
 mod fn_read_field {
     use point::Point;
 
-    #[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_dirty(label="Tables", cfg="rpass2")]
     pub fn get_x(p: Point) -> f32 {
         p.x
     }
@@ -154,7 +154,7 @@ pub fn get_x(p: Point) -> f32 {
 mod fn_write_field {
     use point::Point;
 
-    #[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_dirty(label="Tables", cfg="rpass2")]
     pub fn inc_x(p: &mut Point) {
         p.x += 1.0;
     }
index bd8742ff38e01b98572e07ec957025361575522b..69236643e0ba40b8170bf55193805fca3ec2483f 100644 (file)
@@ -28,7 +28,7 @@
 use a::A;
 use b::B;
 
-//? #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+//? #[rustc_clean(label="Tables", cfg="rpass2")]
 pub fn main() {
     A + B;
 }
index 678bc10f1e56fbbde675611240e95c72b26f0bed..4b1b3ede47d970b6e9cb1a635a671b47c5e2349e 100644 (file)
@@ -59,7 +59,7 @@ pub fn translate(&mut self, x: f32, y: f32) {
 mod fn_calls_methods_in_same_impl {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn check() {
         let x = Point { x: 2.0, y: 2.0 };
         x.distance_from_origin();
@@ -70,7 +70,7 @@ pub fn check() {
 mod fn_calls_methods_in_another_impl {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn check() {
         let mut x = Point { x: 2.0, y: 2.0 };
         x.translate(3.0, 3.0);
@@ -81,7 +81,7 @@ pub fn check() {
 mod fn_make_struct {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn make_origin() -> Point {
         Point { x: 2.0, y: 2.0 }
     }
@@ -91,7 +91,7 @@ pub fn make_origin() -> Point {
 mod fn_read_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn get_x(p: Point) -> f32 {
         p.x
     }
@@ -101,7 +101,7 @@ pub fn get_x(p: Point) -> f32 {
 mod fn_write_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn inc_x(p: &mut Point) {
         p.x += 1.0;
     }
index ded87dd27f410669dff2579dacecaddb01c5c7fa..dc73969201b2c35f99f1efd5ffcf10db52917d0d 100644 (file)
@@ -31,7 +31,7 @@
 mod fn_calls_methods_in_same_impl {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn check() {
         let x = Point { x: 2.0, y: 2.0 };
         x.distance_from_origin();
@@ -42,7 +42,7 @@ pub fn check() {
 mod fn_calls_methods_in_another_impl {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn check() {
         let mut x = Point { x: 2.0, y: 2.0 };
         x.translate(3.0, 3.0);
@@ -53,7 +53,7 @@ pub fn check() {
 mod fn_make_struct {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn make_origin() -> Point {
         Point { x: 2.0, y: 2.0 }
     }
@@ -63,7 +63,7 @@ pub fn make_origin() -> Point {
 mod fn_read_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn get_x(p: Point) -> f32 {
         p.x
     }
@@ -73,7 +73,7 @@ pub fn get_x(p: Point) -> f32 {
 mod fn_write_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn inc_x(p: &mut Point) {
         p.x += 1.0;
     }
index 46e5a88eef9402fc9f1c9a4428bf3999f2e639f1..c89a7233f8dec7967868e11691a733225e9cef99 100644 (file)
@@ -59,7 +59,7 @@ pub fn translate(&mut self, x: f32, y: f32) {
 mod fn_calls_methods_in_same_impl {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn check() {
         let x = Point { x: 2.0, y: 2.0 };
         x.distance_from_origin();
@@ -70,7 +70,7 @@ pub fn check() {
 mod fn_calls_methods_in_another_impl {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn check() {
         let mut x = Point { x: 2.0, y: 2.0 };
         x.translate(3.0, 3.0);
@@ -81,7 +81,7 @@ pub fn check() {
 mod fn_make_struct {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn make_origin() -> Point {
         Point { x: 2.0, y: 2.0 }
     }
@@ -91,7 +91,7 @@ pub fn make_origin() -> Point {
 mod fn_read_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn get_x(p: Point) -> f32 {
         p.x
     }
@@ -101,7 +101,7 @@ pub fn get_x(p: Point) -> f32 {
 mod fn_write_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn inc_x(p: &mut Point) {
         p.x += 1.0;
     }
index 4d9ca77969bd7359e7f4f71f6816f5c7e3cc561e..04d01218546e11967a8e7de153e4033d4d4f9e0d 100644 (file)
@@ -32,7 +32,7 @@
 mod fn_calls_methods_in_same_impl {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn check() {
         let x = Point { x: 2.0, y: 2.0 };
         x.distance_from_origin();
@@ -43,7 +43,7 @@ pub fn check() {
 mod fn_calls_methods_in_another_impl {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn dirty() {
         let mut x = Point { x: 2.0, y: 2.0 };
         x.translate(3.0, 3.0);
@@ -54,7 +54,7 @@ pub fn dirty() {
 mod fn_make_struct {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn make_origin() -> Point {
         Point { x: 2.0, y: 2.0 }
     }
@@ -64,7 +64,7 @@ pub fn make_origin() -> Point {
 mod fn_read_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn get_x(p: Point) -> f32 {
         p.x
     }
@@ -74,7 +74,7 @@ pub fn get_x(p: Point) -> f32 {
 mod fn_write_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn inc_x(p: &mut Point) {
         p.x += 1.0;
     }
index e0047e5ec6455aa805b60c183ee43175fb90918d..d39cf09eb831ee84a9dee22e02945c587d527595 100644 (file)
@@ -50,7 +50,7 @@ pub fn x(&self) -> f32 {
 mod fn_calls_changed_method {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn check() {
         let p = Point { x: 2.0, y: 2.0 };
         p.distance_from_origin();
@@ -61,7 +61,7 @@ pub fn check() {
 mod fn_calls_another_method {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn check() {
         let p = Point { x: 2.0, y: 2.0 };
         p.x();
@@ -72,7 +72,7 @@ pub fn check() {
 mod fn_make_struct {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn make_origin() -> Point {
         Point { x: 2.0, y: 2.0 }
     }
@@ -82,7 +82,7 @@ pub fn make_origin() -> Point {
 mod fn_read_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn get_x(p: Point) -> f32 {
         p.x
     }
@@ -92,7 +92,7 @@ pub fn get_x(p: Point) -> f32 {
 mod fn_write_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn inc_x(p: &mut Point) {
         p.x += 1.0;
     }
index 54e06e16998cdfa92aee3af600d622d243c0c30e..4b35355056e8f9df6ebc95ba622ebe85c7db2655 100644 (file)
@@ -61,7 +61,7 @@ pub fn x(&self) -> f32 {
 mod fn_calls_changed_method {
     use point::Point;
 
-    #[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_dirty(label="Tables", cfg="rpass2")]
     pub fn check() {
         let p = Point { x: 2.0, y: 2.0 };
         p.distance_from_point(None);
@@ -72,7 +72,7 @@ pub fn check() {
 mod fn_calls_another_method {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn check() {
         let p = Point { x: 2.0, y: 2.0 };
         p.x();
@@ -83,7 +83,7 @@ pub fn check() {
 mod fn_make_struct {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn make_origin() -> Point {
         Point { x: 2.0, y: 2.0 }
     }
@@ -93,7 +93,7 @@ pub fn make_origin() -> Point {
 mod fn_read_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn get_x(p: Point) -> f32 {
         p.x
     }
@@ -103,7 +103,7 @@ pub fn get_x(p: Point) -> f32 {
 mod fn_write_field {
     use point::Point;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn inc_x(p: &mut Point) {
         p.x += 1.0;
     }
index 64b7f2951d274595005c79abcd047ae80c409d89..06c962b4d7b92d387520357ebca29e03de9d57fd 100644 (file)
@@ -35,20 +35,20 @@ pub fn x() -> u32 {
 mod y {
     use x;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="cfail2")]
+    #[rustc_clean(label="Tables", cfg="cfail2")]
     #[rustc_clean(label="TransCrateItem", cfg="cfail2")]
     pub fn y() {
-        //[cfail2]~^ ERROR `TypeckItemBody("y::y")` not found in dep graph, but should be clean
+        //[cfail2]~^ ERROR `Tables("y::y")` not found in dep graph, but should be clean
         //[cfail2]~| ERROR `TransCrateItem("y::y")` not found in dep graph, but should be clean
         x::x();
     }
 }
 
 mod z {
-    #[rustc_dirty(label="TypeckItemBody", cfg="cfail2")]
+    #[rustc_dirty(label="Tables", cfg="cfail2")]
     #[rustc_dirty(label="TransCrateItem", cfg="cfail2")]
     pub fn z() {
-        //[cfail2]~^ ERROR `TypeckItemBody("z::z")` found in dep graph, but should be dirty
+        //[cfail2]~^ ERROR `Tables("z::z")` found in dep graph, but should be dirty
         //[cfail2]~| ERROR `TransCrateItem("z::z")` found in dep graph, but should be dirty
     }
 }
index b7f90c09b565cd41e552856c2c75d2bcf8f999bf..e87fea202802539d586026db0f31f5c34a657cd6 100644 (file)
@@ -31,7 +31,7 @@ pub fn xxxx() -> i32 {
 mod y {
     use x;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn yyyy() {
         x::xxxx();
     }
@@ -40,7 +40,7 @@ pub fn yyyy() {
 mod z {
     use y;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     pub fn z() {
         y::yyyy();
     }
index 21b654bdf584bcda118c948979e413395621a0e7..ecf19d7a553730ff73399340eb9d745b064b0aec 100644 (file)
 
 extern crate a;
 
-#[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
-#[rustc_clean(label="TypeckItemBody", cfg="rpass3")]
+#[rustc_dirty(label="Tables", cfg="rpass2")]
+#[rustc_clean(label="Tables", cfg="rpass3")]
 pub fn use_X() -> u32 {
     let x: a::X = 22;
     x as u32
 }
 
-#[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
-#[rustc_clean(label="TypeckItemBody", cfg="rpass3")]
+#[rustc_clean(label="Tables", cfg="rpass2")]
+#[rustc_clean(label="Tables", cfg="rpass3")]
 pub fn use_Y() {
     let x: a::Y = 'c';
 }
index 8651a67bae221e88a5d4e9a3e24347b259b27d6a..08dc4d33229c25a8939ba5d6a5a8a0a97ad1e2b0 100644 (file)
@@ -27,7 +27,7 @@ pub fn x() {
     }
 
     #[cfg(rpass2)]
-    #[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_dirty(label="Tables", cfg="rpass2")]
     #[rustc_dirty(label="TransCrateItem", cfg="rpass2")]
     pub fn x() {
         println!("{}", "2");
@@ -37,7 +37,7 @@ pub fn x() {
 mod y {
     use x;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     #[rustc_clean(label="TransCrateItem", cfg="rpass2")]
     pub fn y() {
         x::x();
@@ -47,7 +47,7 @@ pub fn y() {
 mod z {
     use y;
 
-    #[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+    #[rustc_clean(label="Tables", cfg="rpass2")]
     #[rustc_clean(label="TransCrateItem", cfg="rpass2")]
     pub fn z() {
         y::y();
index da1b32cd73d6ebd2905d98625961c4fae4212b02..159f594e8c043c025481be92d50c77d64c18e41e 100644 (file)
@@ -31,17 +31,17 @@ pub struct Y {
     pub y: char
 }
 
-#[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_dirty(label="Tables", cfg="rpass2")]
 pub fn use_X(x: X) -> u32 {
     x.x as u32
 }
 
-#[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_dirty(label="Tables", cfg="rpass2")]
 pub fn use_EmbedX(embed: EmbedX) -> u32 {
     embed.x.x as u32
 }
 
-#[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_clean(label="Tables", cfg="rpass2")]
 pub fn use_Y() {
     let x: Y = Y { y: 'c' };
 }
index cb43d1274058484a7e25b20a3da3c788cb59ef6e..ca011f1fdd0839bdc11d0e3cc8e58d1a1d30e1cc 100644 (file)
@@ -34,7 +34,7 @@ pub struct Y {
     pub y: char
 }
 
-#[rustc_dirty(label="TypeckItemBody", cfg="cfail2")]
+#[rustc_dirty(label="Tables", cfg="cfail2")]
 pub fn use_X() -> u32 {
     let x: X = X { x: 22 };
     //[cfail2]~^ ERROR struct `X` has no field named `x`
@@ -42,13 +42,13 @@ pub fn use_X() -> u32 {
     //[cfail2]~^ ERROR no field `x` on type `X`
 }
 
-#[rustc_dirty(label="TypeckItemBody", cfg="cfail2")]
+#[rustc_dirty(label="Tables", cfg="cfail2")]
 pub fn use_EmbedX(embed: EmbedX) -> u32 {
     embed.x.x as u32
     //[cfail2]~^ ERROR no field `x` on type `X`
 }
 
-#[rustc_clean(label="TypeckItemBody", cfg="cfail2")]
+#[rustc_clean(label="Tables", cfg="cfail2")]
 pub fn use_Y() {
     let x: Y = Y { y: 'c' };
 }
index 65f3b1b4f368f54cdf32ad748c437d4ab408999e..7237496af2cac66b74a6fa654c451f2cf7193bc6 100644 (file)
@@ -34,19 +34,19 @@ pub struct Y {
     pub y: char
 }
 
-#[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_dirty(label="Tables", cfg="rpass2")]
 pub fn use_X() -> u32 {
     let x: X = X { x: 22 };
     x.x as u32
 }
 
-#[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_dirty(label="Tables", cfg="rpass2")]
 pub fn use_EmbedX(x: EmbedX) -> u32 {
     let x: X = X { x: 22 };
     x.x as u32
 }
 
-#[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_clean(label="Tables", cfg="rpass2")]
 pub fn use_Y() {
     let x: Y = Y { y: 'c' };
 }
index 95e15d0b7f9a070f1ea618e766f278dfd678548c..b490ea41238fdf8e3ee650a35864679f313b258b 100644 (file)
 
 use a::*;
 
-#[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_dirty(label="Tables", cfg="rpass2")]
 pub fn use_X() -> u32 {
     let x: X = X { x: 22 };
     x.x as u32
 }
 
-#[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_dirty(label="Tables", cfg="rpass2")]
 pub fn use_EmbedX(embed: EmbedX) -> u32 {
     embed.x.x as u32
 }
 
-#[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_clean(label="Tables", cfg="rpass2")]
 pub fn use_Y() {
     let x: Y = Y { y: 'c' };
 }
index 2bc636153f73522a823b38d144cd61eb7b4fe388..214cfacc6e7b024881361300f1407433524ad1de 100644 (file)
@@ -34,19 +34,19 @@ pub struct Y {
     pub y: char
 }
 
-#[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_clean(label="Tables", cfg="rpass2")]
 pub fn use_X() -> u32 {
     let x: X = X { x: 22 };
     x.x as u32
 }
 
-#[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_clean(label="Tables", cfg="rpass2")]
 pub fn use_EmbedX(x: EmbedX) -> u32 {
     let x: X = X { x: 22 };
     x.x as u32
 }
 
-#[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_clean(label="Tables", cfg="rpass2")]
 pub fn use_Y() {
     let x: Y = Y { y: 'c' };
 }
index a7ed79d1a5a35036eef6e822ccd64ede592eb9b2..fac2a7f634ce545f9fde9b567c220ba8e5c24407 100644 (file)
@@ -35,17 +35,17 @@ pub struct Y {
     pub y: char
 }
 
-#[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_dirty(label="Tables", cfg="rpass2")]
 pub fn use_X(x: X) -> u32 {
     x.x as u32
 }
 
-#[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_dirty(label="Tables", cfg="rpass2")]
 pub fn use_EmbedX(embed: EmbedX) -> u32 {
     embed.x.x as u32
 }
 
-#[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
+#[rustc_clean(label="Tables", cfg="rpass2")]
 pub fn use_Y() {
     let x: Y = Y { y: 'c' };
 }
index 09d4db331980dcaadd6961e24fd57b77b24c61e5..fce759cc0b4b0fc8d523c974eb638a94a5d29336 100644 (file)
 
 extern crate a;
 
-#[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
-#[rustc_clean(label="TypeckItemBody", cfg="rpass3")]
+#[rustc_dirty(label="Tables", cfg="rpass2")]
+#[rustc_clean(label="Tables", cfg="rpass3")]
 pub fn use_X() -> u32 {
     let x: a::X = 22;
     x as u32
 }
 
-#[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
-#[rustc_clean(label="TypeckItemBody", cfg="rpass3")]
+#[rustc_clean(label="Tables", cfg="rpass2")]
+#[rustc_clean(label="Tables", cfg="rpass3")]
 pub fn use_Y() {
     let x: a::Y = 'c';
 }