rust/src/test/auxiliary
Alex Crichton 93a0dec202 Move more of the exportation burden into privacy
I added a test case which does not compile today, and required changes on
privacy's side of things to get right. Additionally, this moves a good bit of
logic which did not belong in reachability into privacy.

All of reachability should solely be responsible for determining what the
reachable surface area of a crate is given the exported surface area (where the
exported surface area is that which is usable by external crates).

Privacy will now correctly figure out what's exported by deeply looking
through reexports. Previously if a module were reexported under another name,
nothing in the module would actually get exported in the executable. I also
consolidated the phases of privacy to be clearer about what's an input to what.
The privacy checking pass no longer uses the notion of an "all public" path, and
the embargo visitor is no longer an input to the checking pass.

Currently the embargo visitor is built as a saturating analysis because it's
unknown what portions of the AST are going to get re-exported.
2013-11-22 10:02:10 -08:00
..
ambig_impl_2_lib.rs
anon_trait_static_method_lib.rs
anon-extern-mod-cross-crate-1.rs Removing ccdecl 2013-10-14 14:33:05 +02:00
cci_borrow_lib.rs
cci_capture_clause.rs Fix warnings it tests 2013-08-17 08:42:35 -07:00
cci_class_2.rs
cci_class_3.rs
cci_class_4.rs Drop the '2' suffix from logging macros 2013-10-22 08:09:56 -07:00
cci_class_5.rs Fix warnings it tests 2013-08-17 08:42:35 -07:00
cci_class_6.rs
cci_class_cast.rs Drop the '2' suffix from logging macros 2013-10-22 08:09:56 -07:00
cci_class_trait.rs
cci_class.rs
cci_const.rs
cci_impl_lib.rs
cci_intrinsic.rs Remove unused abi attributes. 2013-10-14 13:10:36 +02:00
cci_iter_lib.rs
cci_nested_lib.rs register snapshots 2013-10-23 18:06:12 -04:00
cci_no_inline_lib.rs
cfg_inner_static.rs Ensure that skipped items aren't encoded 2013-09-26 13:54:50 -07:00
coherence_inherent_cc_lib.rs
crate-method-reexport-grrrrrrr2.rs register snapshots 2013-10-23 18:06:12 -04:00
crateresolve1-1.rs
crateresolve1-2.rs
crateresolve1-3.rs
crateresolve2-1.rs
crateresolve2-2.rs
crateresolve2-3.rs
crateresolve3-1.rs
crateresolve3-2.rs
crateresolve4a-1.rs
crateresolve4a-2.rs
crateresolve4b-1.rs
crateresolve4b-2.rs
crateresolve5-1.rs Fix warnings it tests 2013-08-17 08:42:35 -07:00
crateresolve5-2.rs Fix warnings it tests 2013-08-17 08:42:35 -07:00
crateresolve7x.rs
crateresolve8-1.rs Added tests for default generation of package_id meta attribute 2013-11-08 17:42:46 -03:00
crateresolve_calories-1.rs
crateresolve_calories-2.rs
explicit_self_xcrate.rs
extern_mod_ordering_lib.rs
extern-crosscrate-source.rs Remove #[fixed_stack_segment] and #[rust_stack] 2013-11-11 10:40:34 -08:00
foreign_lib.rs test: Use a test extern in various foreign fn tests 2013-07-30 21:13:55 -07:00
impl_privacy_xc_1.rs
impl_privacy_xc_2.rs
inline_dtor.rs fix cross-crate destructor inlining 2013-11-02 23:55:23 -04:00
inner_static.rs Remove __extensions__ in names for a "pretty name" 2013-09-02 23:12:41 -07:00
iss.rs Fix a typo in the ifmt dox 2013-08-15 14:19:09 -07:00
issue2170lib.rs switch Drop to &mut self 2013-09-16 22:19:23 -04:00
issue2378a.rs Drop the '2' suffix from logging macros 2013-10-22 08:09:56 -07:00
issue2378b.rs Correctly encode item visibility in metadata 2013-09-24 09:57:25 -07:00
issue_2242_a.rs
issue_2242_c.rs
issue_2316_a.rs
issue_2316_b.rs Add appropriate #[feature] directives to tests 2013-10-06 14:39:25 -07:00
issue_2472_b.rs
issue_2723_a.rs Drop the '2' suffix from logging macros 2013-10-22 08:09:56 -07:00
issue_3136_a.rc
issue_3136_a.rs
issue_3907_1.rs
issue_3907.rs Add a bunch of tests for closed issues 2013-08-13 21:32:34 -07:00
issue_3979_traits.rs
issue_5844_aux.rs
issue_8401.rs Add even more tests 2013-08-15 14:22:36 -07:00
issue_9123.rs Translate nested items in default methods 2013-09-13 01:42:44 -07:00
issue_9155.rs Close out #9155 2013-10-03 00:15:54 -07:00
issue_9188.rs Guarantee that statics have unique names 2013-09-14 23:19:11 -07:00
issue-2380.rs register snapshots 2013-10-23 18:06:12 -04:00
issue-2414-a.rs
issue-2414-b.rs
issue-2526.rs switch Drop to &mut self 2013-09-16 22:19:23 -04:00
issue-2631-a.rs register snapshots 2013-10-23 18:06:12 -04:00
issue-3012-1.rs switch Drop to &mut self 2013-09-16 22:19:23 -04:00
issue-4208-cc.rs testsuite: Add test for #4208 2013-09-16 12:02:27 -07:00
issue-4545.rs Add tests and un-xfail a few issues 2013-10-10 18:48:52 -07:00
issue-8044.rs Add tests and un-xfail a few issues 2013-10-10 18:48:52 -07:00
issue-9906.rs Propagate reachability through reexported impls 2013-10-21 10:37:36 -07:00
issue-9968.rs Propagate reachability through reexported impls 2013-10-21 10:37:36 -07:00
linkage-visibility.rs Reduce the aggressiveness of reachability 2013-10-31 20:47:23 -07:00
lint_stability.rs Implement support for indicating the stability of items. 2013-09-04 00:12:27 +10:00
logging_right_crate.rs Drop the '2' suffix from logging macros 2013-10-22 08:09:56 -07:00
moves_based_on_type_lib.rs switch Drop to &mut self 2013-09-16 22:19:23 -04:00
nested_item.rs Correctly encode item visibility in metadata 2013-09-24 09:57:25 -07:00
newtype_struct_xc.rs
no_std_crate.rs Allow linking against crates with #[no_std] 2013-07-25 19:23:17 -07:00
noexporttypelib.rs
packed.rs Correctly encode item visibility in metadata 2013-09-24 09:57:25 -07:00
privacy_reexport.rs Move more of the exportation burden into privacy 2013-11-22 10:02:10 -08:00
private_variant_1.rs
private_variant_xc.rs Forbid pub/priv where it has no effect 2013-08-12 23:20:46 -07:00
pub_use_mods_xcrate.rs
pub_use_xcrate1.rs
pub_use_xcrate2.rs
reexport-should-still-link.rs Use the result of privacy for reachability 2013-10-10 03:31:59 -07:00
reexported_static_methods.rs Forbid pub/priv where it has no effect 2013-08-12 23:20:46 -07:00
static_fn_inline_xc_aux.rs remove the float type 2013-10-01 14:54:10 -04:00
static_fn_trait_xc_aux.rs remove the float type 2013-10-01 14:54:10 -04:00
static_mut_xc.rs
static_priv_by_default.rs Use __morestack to detect stack overflow 2013-10-19 09:43:31 -07:00
static-function-pointer-aux.rs Split cross-crate test into own test and xfail-fast it 2013-08-21 17:29:47 +02:00
static-methods-crate.rs Drop the '2' suffix from logging macros 2013-10-22 08:09:56 -07:00
struct_destructuring_cross_crate.rs
struct_variant_xc_aux.rs Add appropriate #[feature] directives to tests 2013-10-06 14:39:25 -07:00
trait_default_method_xc_aux_2.rs
trait_default_method_xc_aux.rs remove the float type 2013-10-01 14:54:10 -04:00
trait_inheritance_auto_xc_2_aux.rs
trait_inheritance_auto_xc_aux.rs
trait_inheritance_cross_trait_call_xc_aux.rs
trait_inheritance_overloading_xc.rs Stop accepting 'impl ...;', require {} instead 2013-09-24 14:12:02 -07:00
trait_superkinds_in_metadata.rs Fixup style of test cases for #7083 2013-08-20 13:28:51 -04:00
trait_typedef_cc.rs
typeid-intrinsic2.rs Add a type_id intrinsic 2013-11-01 10:31:33 -07:00
typeid-intrinsic.rs Add a type_id intrinsic 2013-11-01 10:31:33 -07:00
use_from_trait_xc.rs
xc_conditions_2.rs Add tests for cross-crate condition handling. Close #5446. 2013-08-19 15:09:20 -07:00
xc_conditions_3.rs Add tests for cross-crate condition handling. Close #5446. 2013-08-19 15:09:20 -07:00
xc_conditions_4.rs remove the float type 2013-10-01 14:54:10 -04:00
xc_conditions.rs Add tests for cross-crate condition handling. Close #5446. 2013-08-19 15:09:20 -07:00
xc_private_method_lib.rs Enable privacy check for enum methods. 2013-08-07 14:30:00 +02:00
xcrate_address_insignificant.rs Prevent a rare linkage issue with an xcrate static 2013-09-17 11:24:05 -07:00
xcrate_static_addresses.rs Resume inlining globals across crates 2013-09-16 07:29:49 -07:00
xcrate_unit_struct.rs Fix unit structs in cross-crate situtations 2013-08-07 22:41:13 -04:00