]> git.lizzy.rs Git - rust.git/commitdiff
s/aux/auxiliary, because windows
authorNiko Matsakis <niko@alum.mit.edu>
Thu, 5 May 2016 00:09:17 +0000 (20:09 -0400)
committerNiko Matsakis <niko@alum.mit.edu>
Fri, 6 May 2016 20:24:48 +0000 (16:24 -0400)
For legacy reasons (presumably), Windows does not permit files name aux.

726 files changed:
src/test/codegen-units/item-collection/aux/cgu_export_trait_method.rs [deleted file]
src/test/codegen-units/item-collection/aux/cgu_extern_closures.rs [deleted file]
src/test/codegen-units/item-collection/aux/cgu_generic_function.rs [deleted file]
src/test/codegen-units/item-collection/auxiliary/cgu_export_trait_method.rs [new file with mode: 0644]
src/test/codegen-units/item-collection/auxiliary/cgu_extern_closures.rs [new file with mode: 0644]
src/test/codegen-units/item-collection/auxiliary/cgu_generic_function.rs [new file with mode: 0644]
src/test/codegen-units/partitioning/aux/cgu_explicit_inlining.rs [deleted file]
src/test/codegen-units/partitioning/aux/cgu_extern_drop_glue.rs [deleted file]
src/test/codegen-units/partitioning/aux/cgu_generic_function.rs [deleted file]
src/test/codegen-units/partitioning/auxiliary/cgu_explicit_inlining.rs [new file with mode: 0644]
src/test/codegen-units/partitioning/auxiliary/cgu_extern_drop_glue.rs [new file with mode: 0644]
src/test/codegen-units/partitioning/auxiliary/cgu_generic_function.rs [new file with mode: 0644]
src/test/compile-fail-fulldeps/aux/attr_plugin_test.rs [deleted file]
src/test/compile-fail-fulldeps/aux/lint_for_crate.rs [deleted file]
src/test/compile-fail-fulldeps/aux/lint_group_plugin_test.rs [deleted file]
src/test/compile-fail-fulldeps/aux/lint_plugin_test.rs [deleted file]
src/test/compile-fail-fulldeps/aux/macro_crate_MacroRulesTT.rs [deleted file]
src/test/compile-fail-fulldeps/aux/macro_crate_test.rs [deleted file]
src/test/compile-fail-fulldeps/aux/macro_reexport_1.rs [deleted file]
src/test/compile-fail-fulldeps/aux/rlib_crate_test.rs [deleted file]
src/test/compile-fail-fulldeps/aux/use_from_trait_xc.rs [deleted file]
src/test/compile-fail-fulldeps/auxiliary/attr_plugin_test.rs [new file with mode: 0644]
src/test/compile-fail-fulldeps/auxiliary/lint_for_crate.rs [new file with mode: 0644]
src/test/compile-fail-fulldeps/auxiliary/lint_group_plugin_test.rs [new file with mode: 0644]
src/test/compile-fail-fulldeps/auxiliary/lint_plugin_test.rs [new file with mode: 0644]
src/test/compile-fail-fulldeps/auxiliary/macro_crate_MacroRulesTT.rs [new file with mode: 0644]
src/test/compile-fail-fulldeps/auxiliary/macro_crate_test.rs [new file with mode: 0644]
src/test/compile-fail-fulldeps/auxiliary/macro_reexport_1.rs [new file with mode: 0644]
src/test/compile-fail-fulldeps/auxiliary/rlib_crate_test.rs [new file with mode: 0644]
src/test/compile-fail-fulldeps/auxiliary/use_from_trait_xc.rs [new file with mode: 0644]
src/test/compile-fail/aux/allocator-dylib.rs [deleted file]
src/test/compile-fail/aux/allocator-dylib2.rs [deleted file]
src/test/compile-fail/aux/allocator1.rs [deleted file]
src/test/compile-fail/aux/allocator2.rs [deleted file]
src/test/compile-fail/aux/allocator3.rs [deleted file]
src/test/compile-fail/aux/ambig_impl_2_lib.rs [deleted file]
src/test/compile-fail/aux/cci_class.rs [deleted file]
src/test/compile-fail/aux/cci_class_5.rs [deleted file]
src/test/compile-fail/aux/changing-crates-a1.rs [deleted file]
src/test/compile-fail/aux/changing-crates-a2.rs [deleted file]
src/test/compile-fail/aux/changing-crates-b.rs [deleted file]
src/test/compile-fail/aux/coherence_copy_like_lib.rs [deleted file]
src/test/compile-fail/aux/coherence_inherent_cc_lib.rs [deleted file]
src/test/compile-fail/aux/coherence_lib.rs [deleted file]
src/test/compile-fail/aux/coherence_orphan_lib.rs [deleted file]
src/test/compile-fail/aux/const_fn_lib.rs [deleted file]
src/test/compile-fail/aux/crate_a1.rs [deleted file]
src/test/compile-fail/aux/crate_a2.rs [deleted file]
src/test/compile-fail/aux/crateresolve1-1.rs [deleted file]
src/test/compile-fail/aux/crateresolve1-2.rs [deleted file]
src/test/compile-fail/aux/crateresolve1-3.rs [deleted file]
src/test/compile-fail/aux/default_ty_param_cross_crate_crate.rs [deleted file]
src/test/compile-fail/aux/deprecation-lint.rs [deleted file]
src/test/compile-fail/aux/empty-struct.rs [deleted file]
src/test/compile-fail/aux/go_trait.rs [deleted file]
src/test/compile-fail/aux/inherited_stability.rs [deleted file]
src/test/compile-fail/aux/internal_unstable.rs [deleted file]
src/test/compile-fail/aux/issue-19163.rs [deleted file]
src/test/compile-fail/aux/issue-21146-inc.rs [deleted file]
src/test/compile-fail/aux/issue-21221-3.rs [deleted file]
src/test/compile-fail/aux/issue-21221-4.rs [deleted file]
src/test/compile-fail/aux/issue-29181.rs [deleted file]
src/test/compile-fail/aux/issue-30535.rs [deleted file]
src/test/compile-fail/aux/issue_11680.rs [deleted file]
src/test/compile-fail/aux/issue_12612_1.rs [deleted file]
src/test/compile-fail/aux/issue_16725.rs [deleted file]
src/test/compile-fail/aux/issue_17718_const_privacy.rs [deleted file]
src/test/compile-fail/aux/issue_21202.rs [deleted file]
src/test/compile-fail/aux/issue_30123_aux.rs [deleted file]
src/test/compile-fail/aux/issue_3907.rs [deleted file]
src/test/compile-fail/aux/issue_5844_aux.rs [deleted file]
src/test/compile-fail/aux/lifetime_bound_will_change_warning_lib.rs [deleted file]
src/test/compile-fail/aux/lint_output_format.rs [deleted file]
src/test/compile-fail/aux/lint_stability.rs [deleted file]
src/test/compile-fail/aux/lint_stability_fields.rs [deleted file]
src/test/compile-fail/aux/lint_unused_extern_crate.rs [deleted file]
src/test/compile-fail/aux/macro_crate_nonterminal.rs [deleted file]
src/test/compile-fail/aux/macro_non_reexport_2.rs [deleted file]
src/test/compile-fail/aux/macro_reexport_1.rs [deleted file]
src/test/compile-fail/aux/namespaced_enums.rs [deleted file]
src/test/compile-fail/aux/needs_allocator.rs [deleted file]
src/test/compile-fail/aux/no_method_suggested_traits.rs [deleted file]
src/test/compile-fail/aux/noexporttypelib.rs [deleted file]
src/test/compile-fail/aux/orphan_check_diagnostics.rs [deleted file]
src/test/compile-fail/aux/privacy_tuple_struct.rs [deleted file]
src/test/compile-fail/aux/private_trait_xc.rs [deleted file]
src/test/compile-fail/aux/pub_static_array.rs [deleted file]
src/test/compile-fail/aux/rbmtp_cross_crate_lib.rs [deleted file]
src/test/compile-fail/aux/stability_attribute_issue.rs [deleted file]
src/test/compile-fail/aux/stability_cfg1.rs [deleted file]
src/test/compile-fail/aux/stability_cfg2.rs [deleted file]
src/test/compile-fail/aux/static_priv_by_default.rs [deleted file]
src/test/compile-fail/aux/struct_field_privacy.rs [deleted file]
src/test/compile-fail/aux/struct_variant_privacy.rs [deleted file]
src/test/compile-fail/aux/svh-a-base.rs [deleted file]
src/test/compile-fail/aux/svh-a-change-lit.rs [deleted file]
src/test/compile-fail/aux/svh-a-change-significant-cfg.rs [deleted file]
src/test/compile-fail/aux/svh-a-change-trait-bound.rs [deleted file]
src/test/compile-fail/aux/svh-a-change-type-arg.rs [deleted file]
src/test/compile-fail/aux/svh-a-change-type-ret.rs [deleted file]
src/test/compile-fail/aux/svh-a-change-type-static.rs [deleted file]
src/test/compile-fail/aux/svh-b.rs [deleted file]
src/test/compile-fail/aux/svh-uta-base.rs [deleted file]
src/test/compile-fail/aux/svh-uta-change-use-trait.rs [deleted file]
src/test/compile-fail/aux/svh-utb.rs [deleted file]
src/test/compile-fail/aux/tdticc_coherence_lib.rs [deleted file]
src/test/compile-fail/aux/trait_bounds_on_structs_and_enums_xc.rs [deleted file]
src/test/compile-fail/aux/trait_impl_conflict.rs [deleted file]
src/test/compile-fail/aux/trait_safety_lib.rs [deleted file]
src/test/compile-fail/aux/trait_superkinds_in_metadata.rs [deleted file]
src/test/compile-fail/aux/two_macros.rs [deleted file]
src/test/compile-fail/aux/unreachable_variant.rs [deleted file]
src/test/compile-fail/aux/use_from_trait_xc.rs [deleted file]
src/test/compile-fail/aux/variant-namespacing.rs [deleted file]
src/test/compile-fail/aux/weak-lang-items.rs [deleted file]
src/test/compile-fail/aux/xc_private_method_lib.rs [deleted file]
src/test/compile-fail/aux/xcrate_unit_struct.rs [deleted file]
src/test/compile-fail/auxiliary/allocator-dylib.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/allocator-dylib2.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/allocator1.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/allocator2.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/allocator3.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/ambig_impl_2_lib.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/cci_class.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/cci_class_5.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/changing-crates-a1.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/changing-crates-a2.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/changing-crates-b.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/coherence_copy_like_lib.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/coherence_inherent_cc_lib.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/coherence_lib.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/coherence_orphan_lib.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/const_fn_lib.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/crate_a1.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/crate_a2.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/crateresolve1-1.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/crateresolve1-2.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/crateresolve1-3.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/default_ty_param_cross_crate_crate.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/deprecation-lint.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/empty-struct.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/go_trait.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/inherited_stability.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/internal_unstable.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue-19163.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue-21146-inc.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue-21221-3.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue-21221-4.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue-29181.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue-30535.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue_11680.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue_12612_1.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue_16725.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue_17718_const_privacy.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue_21202.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue_30123_aux.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue_3907.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/issue_5844_aux.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/lifetime_bound_will_change_warning_lib.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/lint_output_format.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/lint_stability.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/lint_stability_fields.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/lint_unused_extern_crate.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/macro_crate_nonterminal.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/macro_non_reexport_2.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/macro_reexport_1.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/namespaced_enums.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/needs_allocator.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/no_method_suggested_traits.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/noexporttypelib.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/orphan_check_diagnostics.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/privacy_tuple_struct.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/private_trait_xc.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/pub_static_array.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/rbmtp_cross_crate_lib.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/stability_attribute_issue.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/stability_cfg1.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/stability_cfg2.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/static_priv_by_default.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/struct_field_privacy.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/struct_variant_privacy.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/svh-a-base.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/svh-a-change-lit.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/svh-a-change-significant-cfg.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/svh-a-change-trait-bound.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/svh-a-change-type-arg.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/svh-a-change-type-ret.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/svh-a-change-type-static.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/svh-b.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/svh-uta-base.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/svh-uta-change-use-trait.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/svh-utb.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/tdticc_coherence_lib.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/trait_bounds_on_structs_and_enums_xc.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/trait_impl_conflict.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/trait_safety_lib.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/trait_superkinds_in_metadata.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/two_macros.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/unreachable_variant.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/use_from_trait_xc.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/variant-namespacing.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/weak-lang-items.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/xc_private_method_lib.rs [new file with mode: 0644]
src/test/compile-fail/auxiliary/xcrate_unit_struct.rs [new file with mode: 0644]
src/test/compile-fail/issue-21146.rs
src/test/compile-fail/privacy/restricted/aux/pub_restricted.rs [deleted file]
src/test/compile-fail/privacy/restricted/auxiliary/pub_restricted.rs [new file with mode: 0644]
src/test/debuginfo/aux/cross_crate_debuginfo_type_uniquing.rs [deleted file]
src/test/debuginfo/aux/cross_crate_spans.rs [deleted file]
src/test/debuginfo/aux/issue13213aux.rs [deleted file]
src/test/debuginfo/auxiliary/cross_crate_debuginfo_type_uniquing.rs [new file with mode: 0644]
src/test/debuginfo/auxiliary/cross_crate_spans.rs [new file with mode: 0644]
src/test/debuginfo/auxiliary/issue13213aux.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/aux/custom_derive_plugin.rs [deleted file]
src/test/run-pass-fulldeps/aux/custom_derive_plugin_attr.rs [deleted file]
src/test/run-pass-fulldeps/aux/dummy_mir_pass.rs [deleted file]
src/test/run-pass-fulldeps/aux/issue-13560-1.rs [deleted file]
src/test/run-pass-fulldeps/aux/issue-13560-2.rs [deleted file]
src/test/run-pass-fulldeps/aux/issue-13560-3.rs [deleted file]
src/test/run-pass-fulldeps/aux/issue-16822.rs [deleted file]
src/test/run-pass-fulldeps/aux/issue-18502.rs [deleted file]
src/test/run-pass-fulldeps/aux/issue_16723_multiple_items_syntax_ext.rs [deleted file]
src/test/run-pass-fulldeps/aux/linkage-visibility.rs [deleted file]
src/test/run-pass-fulldeps/aux/lint_for_crate.rs [deleted file]
src/test/run-pass-fulldeps/aux/lint_group_plugin_test.rs [deleted file]
src/test/run-pass-fulldeps/aux/lint_plugin_test.rs [deleted file]
src/test/run-pass-fulldeps/aux/llvm_pass_plugin.rs [deleted file]
src/test/run-pass-fulldeps/aux/logging_right_crate.rs [deleted file]
src/test/run-pass-fulldeps/aux/lto-syntax-extension-lib.rs [deleted file]
src/test/run-pass-fulldeps/aux/lto-syntax-extension-plugin.rs [deleted file]
src/test/run-pass-fulldeps/aux/macro_crate_test.rs [deleted file]
src/test/run-pass-fulldeps/aux/plugin_args.rs [deleted file]
src/test/run-pass-fulldeps/aux/plugin_crate_outlive_expansion_phase.rs [deleted file]
src/test/run-pass-fulldeps/aux/plugin_with_plugin_lib.rs [deleted file]
src/test/run-pass-fulldeps/aux/procedural_mbe_matching.rs [deleted file]
src/test/run-pass-fulldeps/aux/roman_numerals.rs [deleted file]
src/test/run-pass-fulldeps/aux/syntax_extension_with_dll_deps_1.rs [deleted file]
src/test/run-pass-fulldeps/aux/syntax_extension_with_dll_deps_2.rs [deleted file]
src/test/run-pass-fulldeps/auxiliary/custom_derive_plugin.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/custom_derive_plugin_attr.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/dummy_mir_pass.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/issue-13560-1.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/issue-13560-2.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/issue-13560-3.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/issue-16822.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/issue-18502.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/issue_16723_multiple_items_syntax_ext.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/lint_for_crate.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/lint_group_plugin_test.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/lint_plugin_test.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/llvm_pass_plugin.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/logging_right_crate.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/lto-syntax-extension-lib.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/lto-syntax-extension-plugin.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/macro_crate_test.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/plugin_args.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/plugin_crate_outlive_expansion_phase.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/plugin_with_plugin_lib.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/procedural_mbe_matching.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/roman_numerals.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/syntax_extension_with_dll_deps_1.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/auxiliary/syntax_extension_with_dll_deps_2.rs [new file with mode: 0644]
src/test/run-pass/aux/allocator-dummy.rs [deleted file]
src/test/run-pass/aux/anon-extern-mod-cross-crate-1.rs [deleted file]
src/test/run-pass/aux/anon_trait_static_method_lib.rs [deleted file]
src/test/run-pass/aux/associated-const-cc-lib.rs [deleted file]
src/test/run-pass/aux/associated-types-cc-lib.rs [deleted file]
src/test/run-pass/aux/augmented_assignments.rs [deleted file]
src/test/run-pass/aux/blind-item-mixed-crate-use-item-foo.rs [deleted file]
src/test/run-pass/aux/blind-item-mixed-crate-use-item-foo2.rs [deleted file]
src/test/run-pass/aux/cci_borrow_lib.rs [deleted file]
src/test/run-pass/aux/cci_capture_clause.rs [deleted file]
src/test/run-pass/aux/cci_class.rs [deleted file]
src/test/run-pass/aux/cci_class_2.rs [deleted file]
src/test/run-pass/aux/cci_class_3.rs [deleted file]
src/test/run-pass/aux/cci_class_4.rs [deleted file]
src/test/run-pass/aux/cci_class_6.rs [deleted file]
src/test/run-pass/aux/cci_class_cast.rs [deleted file]
src/test/run-pass/aux/cci_class_trait.rs [deleted file]
src/test/run-pass/aux/cci_const.rs [deleted file]
src/test/run-pass/aux/cci_const_block.rs [deleted file]
src/test/run-pass/aux/cci_impl_lib.rs [deleted file]
src/test/run-pass/aux/cci_intrinsic.rs [deleted file]
src/test/run-pass/aux/cci_iter_lib.rs [deleted file]
src/test/run-pass/aux/cci_nested_lib.rs [deleted file]
src/test/run-pass/aux/cci_no_inline_lib.rs [deleted file]
src/test/run-pass/aux/cfg_inner_static.rs [deleted file]
src/test/run-pass/aux/cgu_test.rs [deleted file]
src/test/run-pass/aux/cgu_test_a.rs [deleted file]
src/test/run-pass/aux/cgu_test_b.rs [deleted file]
src/test/run-pass/aux/check_static_recursion_foreign_helper.rs [deleted file]
src/test/run-pass/aux/coherence_copy_like_lib.rs [deleted file]
src/test/run-pass/aux/coherence_lib.rs [deleted file]
src/test/run-pass/aux/const_fn_lib.rs [deleted file]
src/test/run-pass/aux/crate-attributes-using-cfg_attr.rs [deleted file]
src/test/run-pass/aux/crate-method-reexport-grrrrrrr2.rs [deleted file]
src/test/run-pass/aux/default_type_params_xc.rs [deleted file]
src/test/run-pass/aux/derive-no-std.rs [deleted file]
src/test/run-pass/aux/empty-struct.rs [deleted file]
src/test/run-pass/aux/explicit_self_xcrate.rs [deleted file]
src/test/run-pass/aux/extern-crosscrate-source.rs [deleted file]
src/test/run-pass/aux/extern-take-value.rs [deleted file]
src/test/run-pass/aux/extern_calling_convention.rs [deleted file]
src/test/run-pass/aux/extern_mod_ordering_lib.rs [deleted file]
src/test/run-pass/aux/fat_drop.rs [deleted file]
src/test/run-pass/aux/fn-abi.rs [deleted file]
src/test/run-pass/aux/foreign_lib.rs [deleted file]
src/test/run-pass/aux/go_trait.rs [deleted file]
src/test/run-pass/aux/i8.rs [deleted file]
src/test/run-pass/aux/impl_privacy_xc_1.rs [deleted file]
src/test/run-pass/aux/impl_privacy_xc_2.rs [deleted file]
src/test/run-pass/aux/inline_dtor.rs [deleted file]
src/test/run-pass/aux/inner_static.rs [deleted file]
src/test/run-pass/aux/iss.rs [deleted file]
src/test/run-pass/aux/issue-10028.rs [deleted file]
src/test/run-pass/aux/issue-11224.rs [deleted file]
src/test/run-pass/aux/issue-11225-1.rs [deleted file]
src/test/run-pass/aux/issue-11225-2.rs [deleted file]
src/test/run-pass/aux/issue-11225-3.rs [deleted file]
src/test/run-pass/aux/issue-11508.rs [deleted file]
src/test/run-pass/aux/issue-11529.rs [deleted file]
src/test/run-pass/aux/issue-12133-dylib.rs [deleted file]
src/test/run-pass/aux/issue-12133-dylib2.rs [deleted file]
src/test/run-pass/aux/issue-12133-rlib.rs [deleted file]
src/test/run-pass/aux/issue-12660-aux.rs [deleted file]
src/test/run-pass/aux/issue-13620-1.rs [deleted file]
src/test/run-pass/aux/issue-13620-2.rs [deleted file]
src/test/run-pass/aux/issue-13872-1.rs [deleted file]
src/test/run-pass/aux/issue-13872-2.rs [deleted file]
src/test/run-pass/aux/issue-13872-3.rs [deleted file]
src/test/run-pass/aux/issue-14344-1.rs [deleted file]
src/test/run-pass/aux/issue-14344-2.rs [deleted file]
src/test/run-pass/aux/issue-14421.rs [deleted file]
src/test/run-pass/aux/issue-14422.rs [deleted file]
src/test/run-pass/aux/issue-15562.rs [deleted file]
src/test/run-pass/aux/issue-16643.rs [deleted file]
src/test/run-pass/aux/issue-17662.rs [deleted file]
src/test/run-pass/aux/issue-17718-aux.rs [deleted file]
src/test/run-pass/aux/issue-18501.rs [deleted file]
src/test/run-pass/aux/issue-18514.rs [deleted file]
src/test/run-pass/aux/issue-18711.rs [deleted file]
src/test/run-pass/aux/issue-18913-1.rs [deleted file]
src/test/run-pass/aux/issue-18913-2.rs [deleted file]
src/test/run-pass/aux/issue-19340-1.rs [deleted file]
src/test/run-pass/aux/issue-2380.rs [deleted file]
src/test/run-pass/aux/issue-2414-a.rs [deleted file]
src/test/run-pass/aux/issue-2414-b.rs [deleted file]
src/test/run-pass/aux/issue-25185-1.rs [deleted file]
src/test/run-pass/aux/issue-25185-2.rs [deleted file]
src/test/run-pass/aux/issue-2526.rs [deleted file]
src/test/run-pass/aux/issue-25467.rs [deleted file]
src/test/run-pass/aux/issue-2631-a.rs [deleted file]
src/test/run-pass/aux/issue-29485.rs [deleted file]
src/test/run-pass/aux/issue-3012-1.rs [deleted file]
src/test/run-pass/aux/issue-31702-1.rs [deleted file]
src/test/run-pass/aux/issue-31702-2.rs [deleted file]
src/test/run-pass/aux/issue-4208-cc.rs [deleted file]
src/test/run-pass/aux/issue-4545.rs [deleted file]
src/test/run-pass/aux/issue-5518.rs [deleted file]
src/test/run-pass/aux/issue-5521.rs [deleted file]
src/test/run-pass/aux/issue-7178.rs [deleted file]
src/test/run-pass/aux/issue-7899.rs [deleted file]
src/test/run-pass/aux/issue-8044.rs [deleted file]
src/test/run-pass/aux/issue-8259.rs [deleted file]
src/test/run-pass/aux/issue-9906.rs [deleted file]
src/test/run-pass/aux/issue-9968.rs [deleted file]
src/test/run-pass/aux/issue13507.rs [deleted file]
src/test/run-pass/aux/issue2170lib.rs [deleted file]
src/test/run-pass/aux/issue_10031_aux.rs [deleted file]
src/test/run-pass/aux/issue_12612_1.rs [deleted file]
src/test/run-pass/aux/issue_12612_2.rs [deleted file]
src/test/run-pass/aux/issue_19293.rs [deleted file]
src/test/run-pass/aux/issue_20389.rs [deleted file]
src/test/run-pass/aux/issue_2316_a.rs [deleted file]
src/test/run-pass/aux/issue_2316_b.rs [deleted file]
src/test/run-pass/aux/issue_2472_b.rs [deleted file]
src/test/run-pass/aux/issue_2723_a.rs [deleted file]
src/test/run-pass/aux/issue_3136_a.rc [deleted file]
src/test/run-pass/aux/issue_3136_a.rs [deleted file]
src/test/run-pass/aux/issue_3979_traits.rs [deleted file]
src/test/run-pass/aux/issue_8401.rs [deleted file]
src/test/run-pass/aux/issue_9123.rs [deleted file]
src/test/run-pass/aux/issue_9155.rs [deleted file]
src/test/run-pass/aux/issue_9188.rs [deleted file]
src/test/run-pass/aux/kinds_in_metadata.rs [deleted file]
src/test/run-pass/aux/linkage1.rs [deleted file]
src/test/run-pass/aux/macro-include-items-expr.rs [deleted file]
src/test/run-pass/aux/macro-include-items-item.rs [deleted file]
src/test/run-pass/aux/macro_crate_def_only.rs [deleted file]
src/test/run-pass/aux/macro_crate_nonterminal.rs [deleted file]
src/test/run-pass/aux/macro_export_inner_module.rs [deleted file]
src/test/run-pass/aux/macro_reexport_1.rs [deleted file]
src/test/run-pass/aux/macro_reexport_2.rs [deleted file]
src/test/run-pass/aux/macro_reexport_2_no_use.rs [deleted file]
src/test/run-pass/aux/macro_with_super_1.rs [deleted file]
src/test/run-pass/aux/method_self_arg1.rs [deleted file]
src/test/run-pass/aux/method_self_arg2.rs [deleted file]
src/test/run-pass/aux/mir_external_refs.rs [deleted file]
src/test/run-pass/aux/moves_based_on_type_lib.rs [deleted file]
src/test/run-pass/aux/msvc-data-only-lib.rs [deleted file]
src/test/run-pass/aux/namespaced_enum_emulate_flat.rs [deleted file]
src/test/run-pass/aux/namespaced_enums.rs [deleted file]
src/test/run-pass/aux/nested_item.rs [deleted file]
src/test/run-pass/aux/newtype_struct_xc.rs [deleted file]
src/test/run-pass/aux/overloaded_autoderef_xc.rs [deleted file]
src/test/run-pass/aux/packed.rs [deleted file]
src/test/run-pass/aux/priv-impl-prim-ty.rs [deleted file]
src/test/run-pass/aux/privacy_reexport.rs [deleted file]
src/test/run-pass/aux/pub_use_mods_xcrate.rs [deleted file]
src/test/run-pass/aux/pub_use_xcrate1.rs [deleted file]
src/test/run-pass/aux/pub_use_xcrate2.rs [deleted file]
src/test/run-pass/aux/reachable-unnameable-items.rs [deleted file]
src/test/run-pass/aux/reexport-should-still-link.rs [deleted file]
src/test/run-pass/aux/reexported_static_methods.rs [deleted file]
src/test/run-pass/aux/sepcomp-extern-lib.rs [deleted file]
src/test/run-pass/aux/sepcomp_cci_lib.rs [deleted file]
src/test/run-pass/aux/sepcomp_lib.rs [deleted file]
src/test/run-pass/aux/static-function-pointer-aux.rs [deleted file]
src/test/run-pass/aux/static-methods-crate.rs [deleted file]
src/test/run-pass/aux/static_fn_inline_xc_aux.rs [deleted file]
src/test/run-pass/aux/static_fn_trait_xc_aux.rs [deleted file]
src/test/run-pass/aux/static_mut_xc.rs [deleted file]
src/test/run-pass/aux/struct_destructuring_cross_crate.rs [deleted file]
src/test/run-pass/aux/struct_variant_xc_aux.rs [deleted file]
src/test/run-pass/aux/svh-a-base.rs [deleted file]
src/test/run-pass/aux/svh-a-comment.rs [deleted file]
src/test/run-pass/aux/svh-a-doc.rs [deleted file]
src/test/run-pass/aux/svh-a-macro.rs [deleted file]
src/test/run-pass/aux/svh-a-no-change.rs [deleted file]
src/test/run-pass/aux/svh-a-redundant-cfg.rs [deleted file]
src/test/run-pass/aux/svh-a-whitespace.rs [deleted file]
src/test/run-pass/aux/svh-b.rs [deleted file]
src/test/run-pass/aux/thread-local-extern-static.rs [deleted file]
src/test/run-pass/aux/trait_default_method_xc_aux.rs [deleted file]
src/test/run-pass/aux/trait_default_method_xc_aux_2.rs [deleted file]
src/test/run-pass/aux/trait_inheritance_auto_xc_2_aux.rs [deleted file]
src/test/run-pass/aux/trait_inheritance_auto_xc_aux.rs [deleted file]
src/test/run-pass/aux/trait_inheritance_cross_trait_call_xc_aux.rs [deleted file]
src/test/run-pass/aux/trait_inheritance_overloading_xc.rs [deleted file]
src/test/run-pass/aux/trait_safety_lib.rs [deleted file]
src/test/run-pass/aux/trait_superkinds_in_metadata.rs [deleted file]
src/test/run-pass/aux/traitimpl.rs [deleted file]
src/test/run-pass/aux/two_macros.rs [deleted file]
src/test/run-pass/aux/typeid-intrinsic-aux1.rs [deleted file]
src/test/run-pass/aux/typeid-intrinsic-aux2.rs [deleted file]
src/test/run-pass/aux/unboxed-closures-cross-crate.rs [deleted file]
src/test/run-pass/aux/weak-lang-items.rs [deleted file]
src/test/run-pass/aux/where_clauses_xc.rs [deleted file]
src/test/run-pass/aux/xcrate-trait-lifetime-param.rs [deleted file]
src/test/run-pass/aux/xcrate_address_insignificant.rs [deleted file]
src/test/run-pass/aux/xcrate_associated_type_defaults.rs [deleted file]
src/test/run-pass/aux/xcrate_static_addresses.rs [deleted file]
src/test/run-pass/aux/xcrate_struct_aliases.rs [deleted file]
src/test/run-pass/aux/xcrate_unit_struct.rs [deleted file]
src/test/run-pass/auxiliary/allocator-dummy.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/anon-extern-mod-cross-crate-1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/anon_trait_static_method_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/associated-const-cc-lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/associated-types-cc-lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/augmented_assignments.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/blind-item-mixed-crate-use-item-foo.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/blind-item-mixed-crate-use-item-foo2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_borrow_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_capture_clause.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_class.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_class_2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_class_3.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_class_4.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_class_6.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_class_cast.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_class_trait.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_const.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_const_block.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_impl_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_intrinsic.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_iter_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_nested_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cci_no_inline_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cfg_inner_static.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cgu_test.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cgu_test_a.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/cgu_test_b.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/check_static_recursion_foreign_helper.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/coherence_copy_like_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/coherence_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/const_fn_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/crate-attributes-using-cfg_attr.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/crate-method-reexport-grrrrrrr2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/default_type_params_xc.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/derive-no-std.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/empty-struct.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/explicit_self_xcrate.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/extern-crosscrate-source.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/extern-take-value.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/extern_calling_convention.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/extern_mod_ordering_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/fat_drop.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/fn-abi.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/foreign_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/go_trait.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/i8.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/impl_privacy_xc_1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/impl_privacy_xc_2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/inline_dtor.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/inner_static.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/iss.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-10028.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-11224.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-11225-1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-11225-2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-11225-3.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-11508.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-11529.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-12133-dylib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-12133-dylib2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-12133-rlib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-12660-aux.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-13620-1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-13620-2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-13872-1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-13872-2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-13872-3.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-14344-1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-14344-2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-14421.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-14422.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-15562.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-16643.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-17662.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-17718-aux.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-18501.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-18514.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-18711.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-18913-1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-18913-2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-19340-1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-2380.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-2414-a.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-2414-b.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-25185-1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-25185-2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-2526.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-25467.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-2631-a.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-29485.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-3012-1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-31702-1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-31702-2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-4208-cc.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-4545.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-5518.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-5521.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-7178.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-7899.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-8044.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-8259.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-9906.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue-9968.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue13507.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue2170lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_10031_aux.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_12612_1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_12612_2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_19293.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_20389.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_2316_a.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_2316_b.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_2472_b.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_2723_a.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_3136_a.rc [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_3136_a.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_3979_traits.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_8401.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_9123.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_9155.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/issue_9188.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/kinds_in_metadata.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/linkage1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/macro-include-items-expr.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/macro-include-items-item.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/macro_crate_def_only.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/macro_crate_nonterminal.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/macro_export_inner_module.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/macro_reexport_1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/macro_reexport_2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/macro_reexport_2_no_use.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/macro_with_super_1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/method_self_arg1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/method_self_arg2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/mir_external_refs.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/moves_based_on_type_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/msvc-data-only-lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/namespaced_enum_emulate_flat.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/namespaced_enums.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/nested_item.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/newtype_struct_xc.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/overloaded_autoderef_xc.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/packed.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/priv-impl-prim-ty.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/privacy_reexport.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/pub_use_mods_xcrate.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/pub_use_xcrate1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/pub_use_xcrate2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/reachable-unnameable-items.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/reexport-should-still-link.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/reexported_static_methods.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/sepcomp-extern-lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/sepcomp_cci_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/sepcomp_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/static-function-pointer-aux.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/static-methods-crate.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/static_fn_inline_xc_aux.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/static_fn_trait_xc_aux.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/static_mut_xc.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/struct_destructuring_cross_crate.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/struct_variant_xc_aux.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/svh-a-base.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/svh-a-comment.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/svh-a-doc.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/svh-a-macro.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/svh-a-no-change.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/svh-a-redundant-cfg.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/svh-a-whitespace.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/svh-b.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/thread-local-extern-static.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/trait_default_method_xc_aux.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/trait_default_method_xc_aux_2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/trait_inheritance_auto_xc_2_aux.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/trait_inheritance_auto_xc_aux.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/trait_inheritance_cross_trait_call_xc_aux.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/trait_inheritance_overloading_xc.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/trait_safety_lib.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/trait_superkinds_in_metadata.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/traitimpl.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/two_macros.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/typeid-intrinsic-aux1.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/typeid-intrinsic-aux2.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/unboxed-closures-cross-crate.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/weak-lang-items.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/where_clauses_xc.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/xcrate-trait-lifetime-param.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/xcrate_address_insignificant.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/xcrate_associated_type_defaults.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/xcrate_static_addresses.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/xcrate_struct_aliases.rs [new file with mode: 0644]
src/test/run-pass/auxiliary/xcrate_unit_struct.rs [new file with mode: 0644]
src/test/run-pass/import-crate-with-invalid-spans/aux/crate_with_invalid_spans.rs [deleted file]
src/test/run-pass/import-crate-with-invalid-spans/aux/crate_with_invalid_spans_macros.rs [deleted file]
src/test/run-pass/import-crate-with-invalid-spans/auxiliary/crate_with_invalid_spans.rs [new file with mode: 0644]
src/test/run-pass/import-crate-with-invalid-spans/auxiliary/crate_with_invalid_spans_macros.rs [new file with mode: 0644]
src/test/run-pass/issue24687-embed-debuginfo/aux/issue24687_lib.rs [deleted file]
src/test/run-pass/issue24687-embed-debuginfo/aux/issue24687_mbcs_in_comments.rs [deleted file]
src/test/run-pass/issue24687-embed-debuginfo/auxiliary/issue24687_lib.rs [new file with mode: 0644]
src/test/run-pass/issue24687-embed-debuginfo/auxiliary/issue24687_mbcs_in_comments.rs [new file with mode: 0644]
src/test/run-pass/macro-include-items.rs
src/test/run-pass/specialization/aux/go_trait.rs [deleted file]
src/test/run-pass/specialization/aux/specialization_cross_crate.rs [deleted file]
src/test/run-pass/specialization/aux/specialization_cross_crate_defaults.rs [deleted file]
src/test/run-pass/specialization/auxiliary/go_trait.rs [new file with mode: 0644]
src/test/run-pass/specialization/auxiliary/specialization_cross_crate.rs [new file with mode: 0644]
src/test/run-pass/specialization/auxiliary/specialization_cross_crate_defaults.rs [new file with mode: 0644]
src/test/rustdoc/aux/empty.rs [deleted file]
src/test/rustdoc/aux/inline-default-methods.rs [deleted file]
src/test/rustdoc/aux/issue-13698.rs [deleted file]
src/test/rustdoc/aux/issue-15318.rs [deleted file]
src/test/rustdoc/aux/issue-17476.rs [deleted file]
src/test/rustdoc/aux/issue-19190-3.rs [deleted file]
src/test/rustdoc/aux/issue-20646.rs [deleted file]
src/test/rustdoc/aux/issue-20727.rs [deleted file]
src/test/rustdoc/aux/issue-21092.rs [deleted file]
src/test/rustdoc/aux/issue-21801.rs [deleted file]
src/test/rustdoc/aux/issue-22025.rs [deleted file]
src/test/rustdoc/aux/issue-23207-1.rs [deleted file]
src/test/rustdoc/aux/issue-23207-2.rs [deleted file]
src/test/rustdoc/aux/issue-26606-macro.rs [deleted file]
src/test/rustdoc/aux/issue-27362.rs [deleted file]
src/test/rustdoc/aux/issue-28927-1.rs [deleted file]
src/test/rustdoc/aux/issue-28927-2.rs [deleted file]
src/test/rustdoc/aux/issue-29584.rs [deleted file]
src/test/rustdoc/aux/issue-30109-1.rs [deleted file]
src/test/rustdoc/aux/reexp_stripped.rs [deleted file]
src/test/rustdoc/aux/rustdoc-default-impl.rs [deleted file]
src/test/rustdoc/aux/rustdoc-extern-default-method.rs [deleted file]
src/test/rustdoc/aux/rustdoc-extern-method.rs [deleted file]
src/test/rustdoc/aux/rustdoc-ffi.rs [deleted file]
src/test/rustdoc/aux/rustdoc-impl-parts-crosscrate.rs [deleted file]
src/test/rustdoc/aux/variant-struct.rs [deleted file]
src/test/rustdoc/auxiliary/empty.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/inline-default-methods.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-13698.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-15318.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-17476.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-19190-3.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-20646.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-20727.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-21092.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-21801.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-22025.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-23207-1.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-23207-2.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-26606-macro.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-27362.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-28927-1.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-28927-2.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-29584.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/issue-30109-1.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/reexp_stripped.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/rustdoc-default-impl.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/rustdoc-extern-default-method.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/rustdoc-extern-method.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/rustdoc-ffi.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/rustdoc-impl-parts-crosscrate.rs [new file with mode: 0644]
src/test/rustdoc/auxiliary/variant-struct.rs [new file with mode: 0644]
src/test/rustdoc/inline_cross/aux/issue-33113.rs [deleted file]
src/test/rustdoc/inline_cross/aux/rustdoc-hidden-sig.rs [deleted file]
src/test/rustdoc/inline_cross/aux/rustdoc-hidden.rs [deleted file]
src/test/rustdoc/inline_cross/aux/rustdoc-nonreachable-impls.rs [deleted file]
src/test/rustdoc/inline_cross/aux/rustdoc-trait-object-impl.rs [deleted file]
src/test/rustdoc/inline_cross/auxiliary/issue-33113.rs [new file with mode: 0644]
src/test/rustdoc/inline_cross/auxiliary/rustdoc-hidden-sig.rs [new file with mode: 0644]
src/test/rustdoc/inline_cross/auxiliary/rustdoc-hidden.rs [new file with mode: 0644]
src/test/rustdoc/inline_cross/auxiliary/rustdoc-nonreachable-impls.rs [new file with mode: 0644]
src/test/rustdoc/inline_cross/auxiliary/rustdoc-trait-object-impl.rs [new file with mode: 0644]
src/tools/compiletest/src/main.rs
src/tools/compiletest/src/runtest.rs

diff --git a/src/test/codegen-units/item-collection/aux/cgu_export_trait_method.rs b/src/test/codegen-units/item-collection/aux/cgu_export_trait_method.rs
deleted file mode 100644 (file)
index 49b8e43..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-pub trait Trait : Sized {
-    fn without_self() -> u32;
-    fn without_self_default() -> u32 { 0 }
-
-    fn with_default_impl(self) -> Self { self }
-    fn with_default_impl_generic<T>(self, x: T) -> (Self, T) { (self, x) }
-
-    fn without_default_impl(x: u32) -> (Self, u32);
-    fn without_default_impl_generic<T>(x: T) -> (Self, T);
-}
-
-impl Trait for char {
-    fn without_self() -> u32 { 2 }
-    fn without_default_impl(x: u32) -> (Self, u32) { ('c', x) }
-    fn without_default_impl_generic<T>(x: T) -> (Self, T) { ('c', x) }
-}
-
-impl Trait for u32 {
-    fn without_self() -> u32 { 1 }
-    fn without_default_impl(x: u32) -> (Self, u32) { (0, x) }
-    fn without_default_impl_generic<T>(x: T) -> (Self, T) { (0, x) }
-}
diff --git a/src/test/codegen-units/item-collection/aux/cgu_extern_closures.rs b/src/test/codegen-units/item-collection/aux/cgu_extern_closures.rs
deleted file mode 100644 (file)
index 944d85d..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-#[inline]
-pub fn inlined_fn(x: i32, y: i32) -> i32 {
-
-    let closure = |a, b| { a + b };
-
-    closure(x, y)
-}
-
-pub fn inlined_fn_generic<T>(x: i32, y: i32, z: T) -> (i32, T) {
-
-    let closure = |a, b| { a + b };
-
-    (closure(x, y), z)
-}
-
-pub fn non_inlined_fn(x: i32, y: i32) -> i32 {
-
-    let closure = |a, b| { a + b };
-
-    closure(x, y)
-}
diff --git a/src/test/codegen-units/item-collection/aux/cgu_generic_function.rs b/src/test/codegen-units/item-collection/aux/cgu_generic_function.rs
deleted file mode 100644 (file)
index 04c6874..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-struct Struct(u32);
-
-#[inline(never)]
-pub fn foo<T>(x: T) -> (T, u32, i8) {
-    let (x, Struct(y)) = bar(x);
-    (x, y, 2)
-}
-
-#[inline(never)]
-fn bar<T>(x: T) -> (T, Struct) {
-    let _ = not_exported_and_not_generic(0);
-    (x, Struct(1))
-}
-
-// These should not contribute to the codegen items of other crates.
-#[inline(never)]
-pub fn exported_but_not_generic(x: i32) -> i64 {
-    x as i64
-}
-
-#[inline(never)]
-fn not_exported_and_not_generic(x: u32) -> u64 {
-    x as u64
-}
-
diff --git a/src/test/codegen-units/item-collection/auxiliary/cgu_export_trait_method.rs b/src/test/codegen-units/item-collection/auxiliary/cgu_export_trait_method.rs
new file mode 100644 (file)
index 0000000..49b8e43
--- /dev/null
@@ -0,0 +1,34 @@
+// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+pub trait Trait : Sized {
+    fn without_self() -> u32;
+    fn without_self_default() -> u32 { 0 }
+
+    fn with_default_impl(self) -> Self { self }
+    fn with_default_impl_generic<T>(self, x: T) -> (Self, T) { (self, x) }
+
+    fn without_default_impl(x: u32) -> (Self, u32);
+    fn without_default_impl_generic<T>(x: T) -> (Self, T);
+}
+
+impl Trait for char {
+    fn without_self() -> u32 { 2 }
+    fn without_default_impl(x: u32) -> (Self, u32) { ('c', x) }
+    fn without_default_impl_generic<T>(x: T) -> (Self, T) { ('c', x) }
+}
+
+impl Trait for u32 {
+    fn without_self() -> u32 { 1 }
+    fn without_default_impl(x: u32) -> (Self, u32) { (0, x) }
+    fn without_default_impl_generic<T>(x: T) -> (Self, T) { (0, x) }
+}
diff --git a/src/test/codegen-units/item-collection/auxiliary/cgu_extern_closures.rs b/src/test/codegen-units/item-collection/auxiliary/cgu_extern_closures.rs
new file mode 100644 (file)
index 0000000..944d85d
--- /dev/null
@@ -0,0 +1,33 @@
+// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+#[inline]
+pub fn inlined_fn(x: i32, y: i32) -> i32 {
+
+    let closure = |a, b| { a + b };
+
+    closure(x, y)
+}
+
+pub fn inlined_fn_generic<T>(x: i32, y: i32, z: T) -> (i32, T) {
+
+    let closure = |a, b| { a + b };
+
+    (closure(x, y), z)
+}
+
+pub fn non_inlined_fn(x: i32, y: i32) -> i32 {
+
+    let closure = |a, b| { a + b };
+
+    closure(x, y)
+}
diff --git a/src/test/codegen-units/item-collection/auxiliary/cgu_generic_function.rs b/src/test/codegen-units/item-collection/auxiliary/cgu_generic_function.rs
new file mode 100644 (file)
index 0000000..04c6874
--- /dev/null
@@ -0,0 +1,37 @@
+// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+struct Struct(u32);
+
+#[inline(never)]
+pub fn foo<T>(x: T) -> (T, u32, i8) {
+    let (x, Struct(y)) = bar(x);
+    (x, y, 2)
+}
+
+#[inline(never)]
+fn bar<T>(x: T) -> (T, Struct) {
+    let _ = not_exported_and_not_generic(0);
+    (x, Struct(1))
+}
+
+// These should not contribute to the codegen items of other crates.
+#[inline(never)]
+pub fn exported_but_not_generic(x: i32) -> i64 {
+    x as i64
+}
+
+#[inline(never)]
+fn not_exported_and_not_generic(x: u32) -> u64 {
+    x as u64
+}
+
diff --git a/src/test/codegen-units/partitioning/aux/cgu_explicit_inlining.rs b/src/test/codegen-units/partitioning/aux/cgu_explicit_inlining.rs
deleted file mode 100644 (file)
index e4ba9fa..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-#[inline]
-pub fn inlined() {}
-
-#[inline(always)]
-pub fn always_inlined() {}
-
-#[inline(never)]
-pub fn never_inlined() {}
diff --git a/src/test/codegen-units/partitioning/aux/cgu_extern_drop_glue.rs b/src/test/codegen-units/partitioning/aux/cgu_extern_drop_glue.rs
deleted file mode 100644 (file)
index 049bdb4..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-pub struct Struct(pub u32);
-
-impl Drop for Struct {
-    fn drop(&mut self) {}
-}
diff --git a/src/test/codegen-units/partitioning/aux/cgu_generic_function.rs b/src/test/codegen-units/partitioning/aux/cgu_generic_function.rs
deleted file mode 100644 (file)
index 04c6874..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-struct Struct(u32);
-
-#[inline(never)]
-pub fn foo<T>(x: T) -> (T, u32, i8) {
-    let (x, Struct(y)) = bar(x);
-    (x, y, 2)
-}
-
-#[inline(never)]
-fn bar<T>(x: T) -> (T, Struct) {
-    let _ = not_exported_and_not_generic(0);
-    (x, Struct(1))
-}
-
-// These should not contribute to the codegen items of other crates.
-#[inline(never)]
-pub fn exported_but_not_generic(x: i32) -> i64 {
-    x as i64
-}
-
-#[inline(never)]
-fn not_exported_and_not_generic(x: u32) -> u64 {
-    x as u64
-}
-
diff --git a/src/test/codegen-units/partitioning/auxiliary/cgu_explicit_inlining.rs b/src/test/codegen-units/partitioning/auxiliary/cgu_explicit_inlining.rs
new file mode 100644 (file)
index 0000000..e4ba9fa
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+#[inline]
+pub fn inlined() {}
+
+#[inline(always)]
+pub fn always_inlined() {}
+
+#[inline(never)]
+pub fn never_inlined() {}
diff --git a/src/test/codegen-units/partitioning/auxiliary/cgu_extern_drop_glue.rs b/src/test/codegen-units/partitioning/auxiliary/cgu_extern_drop_glue.rs
new file mode 100644 (file)
index 0000000..049bdb4
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+pub struct Struct(pub u32);
+
+impl Drop for Struct {
+    fn drop(&mut self) {}
+}
diff --git a/src/test/codegen-units/partitioning/auxiliary/cgu_generic_function.rs b/src/test/codegen-units/partitioning/auxiliary/cgu_generic_function.rs
new file mode 100644 (file)
index 0000000..04c6874
--- /dev/null
@@ -0,0 +1,37 @@
+// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+struct Struct(u32);
+
+#[inline(never)]
+pub fn foo<T>(x: T) -> (T, u32, i8) {
+    let (x, Struct(y)) = bar(x);
+    (x, y, 2)
+}
+
+#[inline(never)]
+fn bar<T>(x: T) -> (T, Struct) {
+    let _ = not_exported_and_not_generic(0);
+    (x, Struct(1))
+}
+
+// These should not contribute to the codegen items of other crates.
+#[inline(never)]
+pub fn exported_but_not_generic(x: i32) -> i64 {
+    x as i64
+}
+
+#[inline(never)]
+fn not_exported_and_not_generic(x: u32) -> u64 {
+    x as u64
+}
+
diff --git a/src/test/compile-fail-fulldeps/aux/attr_plugin_test.rs b/src/test/compile-fail-fulldeps/aux/attr_plugin_test.rs
deleted file mode 100644 (file)
index bab3721..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar)]
-#![feature(rustc_private)]
-
-extern crate syntax;
-
-extern crate rustc;
-extern crate rustc_plugin;
-
-use syntax::feature_gate::AttributeType;
-use rustc_plugin::Registry;
-
-
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_attribute("foo".to_owned(), AttributeType::Normal);
-    reg.register_attribute("bar".to_owned(), AttributeType::CrateLevel);
-    reg.register_attribute("baz".to_owned(), AttributeType::Whitelisted);
-}
diff --git a/src/test/compile-fail-fulldeps/aux/lint_for_crate.rs b/src/test/compile-fail-fulldeps/aux/lint_for_crate.rs
deleted file mode 100644 (file)
index a424517..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar, rustc_private)]
-#![feature(box_syntax)]
-
-#[macro_use] extern crate rustc;
-extern crate rustc_plugin;
-extern crate syntax;
-
-use rustc::lint::{LateContext, LintContext, LintPass, LateLintPass, LateLintPassObject, LintArray};
-use rustc_plugin::Registry;
-use rustc::hir;
-use syntax::attr;
-
-declare_lint!(CRATE_NOT_OKAY, Warn, "crate not marked with #![crate_okay]");
-
-struct Pass;
-
-impl LintPass for Pass {
-    fn get_lints(&self) -> LintArray {
-        lint_array!(CRATE_NOT_OKAY)
-    }
-}
-
-impl LateLintPass for Pass {
-    fn check_crate(&mut self, cx: &LateContext, krate: &hir::Crate) {
-        if !attr::contains_name(&krate.attrs, "crate_okay") {
-            cx.span_lint(CRATE_NOT_OKAY, krate.span,
-                         "crate is not marked with #![crate_okay]");
-        }
-    }
-}
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_late_lint_pass(box Pass as LateLintPassObject);
-}
diff --git a/src/test/compile-fail-fulldeps/aux/lint_group_plugin_test.rs b/src/test/compile-fail-fulldeps/aux/lint_group_plugin_test.rs
deleted file mode 100644 (file)
index 1e9a777..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar)]
-#![feature(box_syntax, rustc_private)]
-
-// Load rustc as a plugin to get macros
-#[macro_use]
-extern crate rustc;
-extern crate rustc_plugin;
-
-use rustc::hir;
-use rustc::lint::{LateContext, LintContext, LintPass, LateLintPass, LateLintPassObject, LintArray};
-use rustc_plugin::Registry;
-
-declare_lint!(TEST_LINT, Warn, "Warn about items named 'lintme'");
-
-declare_lint!(PLEASE_LINT, Warn, "Warn about items named 'pleaselintme'");
-
-struct Pass;
-
-impl LintPass for Pass {
-    fn get_lints(&self) -> LintArray {
-        lint_array!(TEST_LINT, PLEASE_LINT)
-    }
-}
-
-impl LateLintPass for Pass {
-    fn check_item(&mut self, cx: &LateContext, it: &hir::Item) {
-        match &*it.name.as_str() {
-            "lintme" => cx.span_lint(TEST_LINT, it.span, "item is named 'lintme'"),
-            "pleaselintme" => cx.span_lint(PLEASE_LINT, it.span, "item is named 'pleaselintme'"),
-            _ => {}
-        }
-    }
-}
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_late_lint_pass(box Pass as LateLintPassObject);
-    reg.register_lint_group("lint_me", vec![TEST_LINT, PLEASE_LINT]);
-}
diff --git a/src/test/compile-fail-fulldeps/aux/lint_plugin_test.rs b/src/test/compile-fail-fulldeps/aux/lint_plugin_test.rs
deleted file mode 100644 (file)
index 8ea131d..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar)]
-#![feature(box_syntax, rustc_private)]
-
-extern crate syntax;
-
-// Load rustc as a plugin to get macros
-#[macro_use]
-extern crate rustc;
-extern crate rustc_plugin;
-
-use rustc::lint::{EarlyContext, LintContext, LintPass, EarlyLintPass,
-                  EarlyLintPassObject, LintArray};
-use rustc_plugin::Registry;
-use syntax::ast;
-declare_lint!(TEST_LINT, Warn, "Warn about items named 'lintme'");
-
-struct Pass;
-
-impl LintPass for Pass {
-    fn get_lints(&self) -> LintArray {
-        lint_array!(TEST_LINT)
-    }
-}
-
-impl EarlyLintPass for Pass {
-    fn check_item(&mut self, cx: &EarlyContext, it: &ast::Item) {
-        if it.ident.name.as_str() == "lintme" {
-            cx.span_lint(TEST_LINT, it.span, "item is named 'lintme'");
-        }
-    }
-}
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_early_lint_pass(box Pass as EarlyLintPassObject);
-}
diff --git a/src/test/compile-fail-fulldeps/aux/macro_crate_MacroRulesTT.rs b/src/test/compile-fail-fulldeps/aux/macro_crate_MacroRulesTT.rs
deleted file mode 100644 (file)
index 9e693fc..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar, rustc_private)]
-
-extern crate syntax;
-extern crate rustc;
-extern crate rustc_plugin;
-
-use syntax::parse::token;
-use syntax::ext::base::MacroRulesTT;
-use rustc_plugin::Registry;
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_syntax_extension(token::intern("bogus"), MacroRulesTT);
-}
diff --git a/src/test/compile-fail-fulldeps/aux/macro_crate_test.rs b/src/test/compile-fail-fulldeps/aux/macro_crate_test.rs
deleted file mode 100644 (file)
index 3516f56..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright 2013-2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar, quote, rustc_private)]
-
-extern crate syntax;
-extern crate rustc;
-extern crate rustc_plugin;
-
-use syntax::ast::{self, TokenTree, Item, MetaItem, ImplItem, TraitItem, ItemKind};
-use syntax::codemap::Span;
-use syntax::ext::base::*;
-use syntax::parse::{self, token};
-use syntax::ptr::P;
-use rustc_plugin::Registry;
-
-#[macro_export]
-macro_rules! exported_macro { () => (2) }
-macro_rules! unexported_macro { () => (3) }
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_macro("make_a_1", expand_make_a_1);
-    reg.register_macro("identity", expand_identity);
-    reg.register_syntax_extension(
-        token::intern("into_multi_foo"),
-        // FIXME (#22405): Replace `Box::new` with `box` here when/if possible.
-        MultiModifier(Box::new(expand_into_foo_multi)));
-    reg.register_syntax_extension(
-        token::intern("duplicate"),
-        // FIXME (#22405): Replace `Box::new` with `box` here when/if possible.
-        MultiDecorator(Box::new(expand_duplicate)));
-}
-
-fn expand_make_a_1(cx: &mut ExtCtxt, sp: Span, tts: &[TokenTree])
-                   -> Box<MacResult+'static> {
-    if !tts.is_empty() {
-        cx.span_fatal(sp, "make_a_1 takes no arguments");
-    }
-    MacEager::expr(quote_expr!(cx, 1))
-}
-
-// See Issue #15750
-fn expand_identity(cx: &mut ExtCtxt, _span: Span, tts: &[TokenTree])
-                   -> Box<MacResult+'static> {
-    // Parse an expression and emit it unchanged.
-    let mut parser = parse::new_parser_from_tts(cx.parse_sess(),
-        cx.cfg(), tts.to_vec());
-    let expr = parser.parse_expr().unwrap();
-    MacEager::expr(quote_expr!(&mut *cx, $expr))
-}
-
-fn expand_into_foo_multi(cx: &mut ExtCtxt,
-                         sp: Span,
-                         attr: &MetaItem,
-                         it: Annotatable) -> Annotatable {
-    match it {
-        Annotatable::Item(it) => {
-            Annotatable::Item(P(Item {
-                attrs: it.attrs.clone(),
-                ..(*quote_item!(cx, enum Foo2 { Bar2, Baz2 }).unwrap()).clone()
-            }))
-        }
-        Annotatable::ImplItem(it) => {
-            quote_item!(cx, impl X { fn foo(&self) -> i32 { 42 } }).unwrap().and_then(|i| {
-                match i.node {
-                    ItemKind::Impl(_, _, _, _, _, mut items) => {
-                        Annotatable::ImplItem(P(items.pop().expect("impl method not found")))
-                    }
-                    _ => unreachable!("impl parsed to something other than impl")
-                }
-            })
-        }
-        Annotatable::TraitItem(it) => {
-            quote_item!(cx, trait X { fn foo(&self) -> i32 { 0 } }).unwrap().and_then(|i| {
-                match i.node {
-                    ItemKind::Trait(_, _, _, mut items) => {
-                        Annotatable::TraitItem(P(items.pop().expect("trait method not found")))
-                    }
-                    _ => unreachable!("trait parsed to something other than trait")
-                }
-            })
-        }
-    }
-}
-
-// Create a duplicate of the annotatable, based on the MetaItem
-fn expand_duplicate(cx: &mut ExtCtxt,
-                    sp: Span,
-                    mi: &MetaItem,
-                    it: &Annotatable,
-                    push: &mut FnMut(Annotatable))
-{
-    let copy_name = match mi.node {
-        ast::MetaItemKind::List(_, ref xs) => {
-            if let ast::MetaItemKind::Word(ref w) = xs[0].node {
-                token::str_to_ident(&w)
-            } else {
-                cx.span_err(mi.span, "Expected word");
-                return;
-            }
-        }
-        _ => {
-            cx.span_err(mi.span, "Expected list");
-            return;
-        }
-    };
-
-    // Duplicate the item but replace its ident by the MetaItem
-    match it.clone() {
-        Annotatable::Item(it) => {
-            let mut new_it = (*it).clone();
-            new_it.attrs.clear();
-            new_it.ident = copy_name;
-            push(Annotatable::Item(P(new_it)));
-        }
-        Annotatable::ImplItem(it) => {
-            let mut new_it = (*it).clone();
-            new_it.attrs.clear();
-            new_it.ident = copy_name;
-            push(Annotatable::ImplItem(P(new_it)));
-        }
-        Annotatable::TraitItem(tt) => {
-            let mut new_it = (*tt).clone();
-            new_it.attrs.clear();
-            new_it.ident = copy_name;
-            push(Annotatable::TraitItem(P(new_it)));
-        }
-    }
-}
-
-pub fn foo() {}
diff --git a/src/test/compile-fail-fulldeps/aux/macro_reexport_1.rs b/src/test/compile-fail-fulldeps/aux/macro_reexport_1.rs
deleted file mode 100644 (file)
index aaeccc6..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "dylib"]
-#[macro_export]
-macro_rules! reexported {
-    () => ( 3 )
-}
diff --git a/src/test/compile-fail-fulldeps/aux/rlib_crate_test.rs b/src/test/compile-fail-fulldeps/aux/rlib_crate_test.rs
deleted file mode 100644 (file)
index ae1568b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![crate_type = "rlib"]
-#![feature(plugin_registrar, rustc_private)]
-
-extern crate rustc;
-extern crate rustc_plugin;
-
-use rustc_plugin::Registry;
-
-#[plugin_registrar]
-pub fn plugin_registrar(_: &mut Registry) {}
diff --git a/src/test/compile-fail-fulldeps/aux/use_from_trait_xc.rs b/src/test/compile-fail-fulldeps/aux/use_from_trait_xc.rs
deleted file mode 100644 (file)
index 7024c9d..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(associated_consts)]
-
-pub use self::sub::{Bar, Baz};
-
-pub trait Trait {
-    fn foo(&self);
-    type Assoc;
-    const CONST: u32;
-}
-
-struct Foo;
-
-impl Foo {
-    pub fn new() {}
-
-    pub const C: u32 = 0;
-}
-
-mod sub {
-    pub struct Bar;
-
-    impl Bar {
-        pub fn new() {}
-    }
-
-    pub enum Baz {}
-
-    impl Baz {
-        pub fn new() {}
-    }
-}
diff --git a/src/test/compile-fail-fulldeps/auxiliary/attr_plugin_test.rs b/src/test/compile-fail-fulldeps/auxiliary/attr_plugin_test.rs
new file mode 100644 (file)
index 0000000..bab3721
--- /dev/null
@@ -0,0 +1,31 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar)]
+#![feature(rustc_private)]
+
+extern crate syntax;
+
+extern crate rustc;
+extern crate rustc_plugin;
+
+use syntax::feature_gate::AttributeType;
+use rustc_plugin::Registry;
+
+
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_attribute("foo".to_owned(), AttributeType::Normal);
+    reg.register_attribute("bar".to_owned(), AttributeType::CrateLevel);
+    reg.register_attribute("baz".to_owned(), AttributeType::Whitelisted);
+}
diff --git a/src/test/compile-fail-fulldeps/auxiliary/lint_for_crate.rs b/src/test/compile-fail-fulldeps/auxiliary/lint_for_crate.rs
new file mode 100644 (file)
index 0000000..a424517
--- /dev/null
@@ -0,0 +1,47 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar, rustc_private)]
+#![feature(box_syntax)]
+
+#[macro_use] extern crate rustc;
+extern crate rustc_plugin;
+extern crate syntax;
+
+use rustc::lint::{LateContext, LintContext, LintPass, LateLintPass, LateLintPassObject, LintArray};
+use rustc_plugin::Registry;
+use rustc::hir;
+use syntax::attr;
+
+declare_lint!(CRATE_NOT_OKAY, Warn, "crate not marked with #![crate_okay]");
+
+struct Pass;
+
+impl LintPass for Pass {
+    fn get_lints(&self) -> LintArray {
+        lint_array!(CRATE_NOT_OKAY)
+    }
+}
+
+impl LateLintPass for Pass {
+    fn check_crate(&mut self, cx: &LateContext, krate: &hir::Crate) {
+        if !attr::contains_name(&krate.attrs, "crate_okay") {
+            cx.span_lint(CRATE_NOT_OKAY, krate.span,
+                         "crate is not marked with #![crate_okay]");
+        }
+    }
+}
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_late_lint_pass(box Pass as LateLintPassObject);
+}
diff --git a/src/test/compile-fail-fulldeps/auxiliary/lint_group_plugin_test.rs b/src/test/compile-fail-fulldeps/auxiliary/lint_group_plugin_test.rs
new file mode 100644 (file)
index 0000000..1e9a777
--- /dev/null
@@ -0,0 +1,51 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar)]
+#![feature(box_syntax, rustc_private)]
+
+// Load rustc as a plugin to get macros
+#[macro_use]
+extern crate rustc;
+extern crate rustc_plugin;
+
+use rustc::hir;
+use rustc::lint::{LateContext, LintContext, LintPass, LateLintPass, LateLintPassObject, LintArray};
+use rustc_plugin::Registry;
+
+declare_lint!(TEST_LINT, Warn, "Warn about items named 'lintme'");
+
+declare_lint!(PLEASE_LINT, Warn, "Warn about items named 'pleaselintme'");
+
+struct Pass;
+
+impl LintPass for Pass {
+    fn get_lints(&self) -> LintArray {
+        lint_array!(TEST_LINT, PLEASE_LINT)
+    }
+}
+
+impl LateLintPass for Pass {
+    fn check_item(&mut self, cx: &LateContext, it: &hir::Item) {
+        match &*it.name.as_str() {
+            "lintme" => cx.span_lint(TEST_LINT, it.span, "item is named 'lintme'"),
+            "pleaselintme" => cx.span_lint(PLEASE_LINT, it.span, "item is named 'pleaselintme'"),
+            _ => {}
+        }
+    }
+}
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_late_lint_pass(box Pass as LateLintPassObject);
+    reg.register_lint_group("lint_me", vec![TEST_LINT, PLEASE_LINT]);
+}
diff --git a/src/test/compile-fail-fulldeps/auxiliary/lint_plugin_test.rs b/src/test/compile-fail-fulldeps/auxiliary/lint_plugin_test.rs
new file mode 100644 (file)
index 0000000..8ea131d
--- /dev/null
@@ -0,0 +1,48 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar)]
+#![feature(box_syntax, rustc_private)]
+
+extern crate syntax;
+
+// Load rustc as a plugin to get macros
+#[macro_use]
+extern crate rustc;
+extern crate rustc_plugin;
+
+use rustc::lint::{EarlyContext, LintContext, LintPass, EarlyLintPass,
+                  EarlyLintPassObject, LintArray};
+use rustc_plugin::Registry;
+use syntax::ast;
+declare_lint!(TEST_LINT, Warn, "Warn about items named 'lintme'");
+
+struct Pass;
+
+impl LintPass for Pass {
+    fn get_lints(&self) -> LintArray {
+        lint_array!(TEST_LINT)
+    }
+}
+
+impl EarlyLintPass for Pass {
+    fn check_item(&mut self, cx: &EarlyContext, it: &ast::Item) {
+        if it.ident.name.as_str() == "lintme" {
+            cx.span_lint(TEST_LINT, it.span, "item is named 'lintme'");
+        }
+    }
+}
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_early_lint_pass(box Pass as EarlyLintPassObject);
+}
diff --git a/src/test/compile-fail-fulldeps/auxiliary/macro_crate_MacroRulesTT.rs b/src/test/compile-fail-fulldeps/auxiliary/macro_crate_MacroRulesTT.rs
new file mode 100644 (file)
index 0000000..9e693fc
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar, rustc_private)]
+
+extern crate syntax;
+extern crate rustc;
+extern crate rustc_plugin;
+
+use syntax::parse::token;
+use syntax::ext::base::MacroRulesTT;
+use rustc_plugin::Registry;
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_syntax_extension(token::intern("bogus"), MacroRulesTT);
+}
diff --git a/src/test/compile-fail-fulldeps/auxiliary/macro_crate_test.rs b/src/test/compile-fail-fulldeps/auxiliary/macro_crate_test.rs
new file mode 100644 (file)
index 0000000..3516f56
--- /dev/null
@@ -0,0 +1,141 @@
+// Copyright 2013-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar, quote, rustc_private)]
+
+extern crate syntax;
+extern crate rustc;
+extern crate rustc_plugin;
+
+use syntax::ast::{self, TokenTree, Item, MetaItem, ImplItem, TraitItem, ItemKind};
+use syntax::codemap::Span;
+use syntax::ext::base::*;
+use syntax::parse::{self, token};
+use syntax::ptr::P;
+use rustc_plugin::Registry;
+
+#[macro_export]
+macro_rules! exported_macro { () => (2) }
+macro_rules! unexported_macro { () => (3) }
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_macro("make_a_1", expand_make_a_1);
+    reg.register_macro("identity", expand_identity);
+    reg.register_syntax_extension(
+        token::intern("into_multi_foo"),
+        // FIXME (#22405): Replace `Box::new` with `box` here when/if possible.
+        MultiModifier(Box::new(expand_into_foo_multi)));
+    reg.register_syntax_extension(
+        token::intern("duplicate"),
+        // FIXME (#22405): Replace `Box::new` with `box` here when/if possible.
+        MultiDecorator(Box::new(expand_duplicate)));
+}
+
+fn expand_make_a_1(cx: &mut ExtCtxt, sp: Span, tts: &[TokenTree])
+                   -> Box<MacResult+'static> {
+    if !tts.is_empty() {
+        cx.span_fatal(sp, "make_a_1 takes no arguments");
+    }
+    MacEager::expr(quote_expr!(cx, 1))
+}
+
+// See Issue #15750
+fn expand_identity(cx: &mut ExtCtxt, _span: Span, tts: &[TokenTree])
+                   -> Box<MacResult+'static> {
+    // Parse an expression and emit it unchanged.
+    let mut parser = parse::new_parser_from_tts(cx.parse_sess(),
+        cx.cfg(), tts.to_vec());
+    let expr = parser.parse_expr().unwrap();
+    MacEager::expr(quote_expr!(&mut *cx, $expr))
+}
+
+fn expand_into_foo_multi(cx: &mut ExtCtxt,
+                         sp: Span,
+                         attr: &MetaItem,
+                         it: Annotatable) -> Annotatable {
+    match it {
+        Annotatable::Item(it) => {
+            Annotatable::Item(P(Item {
+                attrs: it.attrs.clone(),
+                ..(*quote_item!(cx, enum Foo2 { Bar2, Baz2 }).unwrap()).clone()
+            }))
+        }
+        Annotatable::ImplItem(it) => {
+            quote_item!(cx, impl X { fn foo(&self) -> i32 { 42 } }).unwrap().and_then(|i| {
+                match i.node {
+                    ItemKind::Impl(_, _, _, _, _, mut items) => {
+                        Annotatable::ImplItem(P(items.pop().expect("impl method not found")))
+                    }
+                    _ => unreachable!("impl parsed to something other than impl")
+                }
+            })
+        }
+        Annotatable::TraitItem(it) => {
+            quote_item!(cx, trait X { fn foo(&self) -> i32 { 0 } }).unwrap().and_then(|i| {
+                match i.node {
+                    ItemKind::Trait(_, _, _, mut items) => {
+                        Annotatable::TraitItem(P(items.pop().expect("trait method not found")))
+                    }
+                    _ => unreachable!("trait parsed to something other than trait")
+                }
+            })
+        }
+    }
+}
+
+// Create a duplicate of the annotatable, based on the MetaItem
+fn expand_duplicate(cx: &mut ExtCtxt,
+                    sp: Span,
+                    mi: &MetaItem,
+                    it: &Annotatable,
+                    push: &mut FnMut(Annotatable))
+{
+    let copy_name = match mi.node {
+        ast::MetaItemKind::List(_, ref xs) => {
+            if let ast::MetaItemKind::Word(ref w) = xs[0].node {
+                token::str_to_ident(&w)
+            } else {
+                cx.span_err(mi.span, "Expected word");
+                return;
+            }
+        }
+        _ => {
+            cx.span_err(mi.span, "Expected list");
+            return;
+        }
+    };
+
+    // Duplicate the item but replace its ident by the MetaItem
+    match it.clone() {
+        Annotatable::Item(it) => {
+            let mut new_it = (*it).clone();
+            new_it.attrs.clear();
+            new_it.ident = copy_name;
+            push(Annotatable::Item(P(new_it)));
+        }
+        Annotatable::ImplItem(it) => {
+            let mut new_it = (*it).clone();
+            new_it.attrs.clear();
+            new_it.ident = copy_name;
+            push(Annotatable::ImplItem(P(new_it)));
+        }
+        Annotatable::TraitItem(tt) => {
+            let mut new_it = (*tt).clone();
+            new_it.attrs.clear();
+            new_it.ident = copy_name;
+            push(Annotatable::TraitItem(P(new_it)));
+        }
+    }
+}
+
+pub fn foo() {}
diff --git a/src/test/compile-fail-fulldeps/auxiliary/macro_reexport_1.rs b/src/test/compile-fail-fulldeps/auxiliary/macro_reexport_1.rs
new file mode 100644 (file)
index 0000000..aaeccc6
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "dylib"]
+#[macro_export]
+macro_rules! reexported {
+    () => ( 3 )
+}
diff --git a/src/test/compile-fail-fulldeps/auxiliary/rlib_crate_test.rs b/src/test/compile-fail-fulldeps/auxiliary/rlib_crate_test.rs
new file mode 100644 (file)
index 0000000..ae1568b
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![crate_type = "rlib"]
+#![feature(plugin_registrar, rustc_private)]
+
+extern crate rustc;
+extern crate rustc_plugin;
+
+use rustc_plugin::Registry;
+
+#[plugin_registrar]
+pub fn plugin_registrar(_: &mut Registry) {}
diff --git a/src/test/compile-fail-fulldeps/auxiliary/use_from_trait_xc.rs b/src/test/compile-fail-fulldeps/auxiliary/use_from_trait_xc.rs
new file mode 100644 (file)
index 0000000..7024c9d
--- /dev/null
@@ -0,0 +1,41 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(associated_consts)]
+
+pub use self::sub::{Bar, Baz};
+
+pub trait Trait {
+    fn foo(&self);
+    type Assoc;
+    const CONST: u32;
+}
+
+struct Foo;
+
+impl Foo {
+    pub fn new() {}
+
+    pub const C: u32 = 0;
+}
+
+mod sub {
+    pub struct Bar;
+
+    impl Bar {
+        pub fn new() {}
+    }
+
+    pub enum Baz {}
+
+    impl Baz {
+        pub fn new() {}
+    }
+}
diff --git a/src/test/compile-fail/aux/allocator-dylib.rs b/src/test/compile-fail/aux/allocator-dylib.rs
deleted file mode 100644 (file)
index 568b247..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![crate_type = "dylib"]
-
-pub fn foo() {}
diff --git a/src/test/compile-fail/aux/allocator-dylib2.rs b/src/test/compile-fail/aux/allocator-dylib2.rs
deleted file mode 100644 (file)
index 0d76c0e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn foo() {}
-
diff --git a/src/test/compile-fail/aux/allocator1.rs b/src/test/compile-fail/aux/allocator1.rs
deleted file mode 100644 (file)
index b247848..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![feature(allocator)]
-#![allocator]
-#![crate_type = "rlib"]
-#![no_std]
diff --git a/src/test/compile-fail/aux/allocator2.rs b/src/test/compile-fail/aux/allocator2.rs
deleted file mode 100644 (file)
index b247848..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![feature(allocator)]
-#![allocator]
-#![crate_type = "rlib"]
-#![no_std]
diff --git a/src/test/compile-fail/aux/allocator3.rs b/src/test/compile-fail/aux/allocator3.rs
deleted file mode 100644 (file)
index d3eb1f6..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![feature(allocator)]
-#![no_std]
-#![allocator]
-#![crate_type = "rlib"]
-
-extern crate needs_allocator;
-
diff --git a/src/test/compile-fail/aux/ambig_impl_2_lib.rs b/src/test/compile-fail/aux/ambig_impl_2_lib.rs
deleted file mode 100644 (file)
index 4ba0ccd..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub trait me {
-    fn me(&self) -> usize;
-}
-impl me for usize { fn me(&self) -> usize { *self } }
diff --git a/src/test/compile-fail/aux/cci_class.rs b/src/test/compile-fail/aux/cci_class.rs
deleted file mode 100644 (file)
index 08a13fd..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod kitties {
-    pub struct cat {
-      meows : usize,
-
-      pub how_hungry : isize,
-    }
-
-    pub fn cat(in_x : usize, in_y : isize) -> cat  {
-        cat {
-            meows: in_x,
-            how_hungry: in_y
-        }
-    }
-}
diff --git a/src/test/compile-fail/aux/cci_class_5.rs b/src/test/compile-fail/aux/cci_class_5.rs
deleted file mode 100644 (file)
index 7fe608f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod kitties {
-    pub struct cat {
-        meows : usize,
-        pub how_hungry : isize,
-    }
-
-    impl cat {
-        fn nap(&self) {}
-    }
-
-    pub fn cat(in_x : usize, in_y : isize) -> cat {
-        cat {
-            meows: in_x,
-            how_hungry: in_y
-        }
-    }
-}
diff --git a/src/test/compile-fail/aux/changing-crates-a1.rs b/src/test/compile-fail/aux/changing-crates-a1.rs
deleted file mode 100644 (file)
index 18162c5..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name = "a"]
-
-pub fn foo<T>() {}
diff --git a/src/test/compile-fail/aux/changing-crates-a2.rs b/src/test/compile-fail/aux/changing-crates-a2.rs
deleted file mode 100644 (file)
index 28eae02..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name = "a"]
-
-pub fn foo<T>() { println!("hello!"); }
diff --git a/src/test/compile-fail/aux/changing-crates-b.rs b/src/test/compile-fail/aux/changing-crates-b.rs
deleted file mode 100644 (file)
index 7b1190f..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name = "b"]
-
-extern crate a;
-
-pub fn foo() { a::foo::<isize>(); }
diff --git a/src/test/compile-fail/aux/coherence_copy_like_lib.rs b/src/test/compile-fail/aux/coherence_copy_like_lib.rs
deleted file mode 100644 (file)
index d3d389c..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "rlib"]
-#![feature(fundamental)]
-
-pub trait MyCopy { }
-impl MyCopy for i32 { }
-
-pub struct MyStruct<T>(T);
-
-#[fundamental]
-pub struct MyFundamentalStruct<T>(T);
diff --git a/src/test/compile-fail/aux/coherence_inherent_cc_lib.rs b/src/test/compile-fail/aux/coherence_inherent_cc_lib.rs
deleted file mode 100644 (file)
index 0458636..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// See coherence_inherent_cc.rs
-
-pub trait TheTrait {
-    fn the_fn(&self);
-}
-
-pub struct TheStruct;
-
-impl TheTrait for TheStruct {
-    fn the_fn(&self) {}
-}
diff --git a/src/test/compile-fail/aux/coherence_lib.rs b/src/test/compile-fail/aux/coherence_lib.rs
deleted file mode 100644 (file)
index daa1238..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-pub trait Remote {
-    fn foo(&self) { }
-}
-
-pub trait Remote1<T> {
-    fn foo(&self, t: T) { }
-}
-
-pub trait Remote2<T, U> {
-    fn foo(&self, t: T, u: U) { }
-}
-
-pub struct Pair<T,U>(T,U);
diff --git a/src/test/compile-fail/aux/coherence_orphan_lib.rs b/src/test/compile-fail/aux/coherence_orphan_lib.rs
deleted file mode 100644 (file)
index b22d123..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub trait TheTrait<T> {
-    fn the_fn(&self);
-}
diff --git a/src/test/compile-fail/aux/const_fn_lib.rs b/src/test/compile-fail/aux/const_fn_lib.rs
deleted file mode 100644 (file)
index b0d5a6b..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// Crate that exports a const fn. Used for testing cross-crate.
-
-#![crate_type="rlib"]
-#![feature(const_fn)]
-
-pub const fn foo() -> usize { 22 } //~ ERROR const fn is unstable
diff --git a/src/test/compile-fail/aux/crate_a1.rs b/src/test/compile-fail/aux/crate_a1.rs
deleted file mode 100644 (file)
index 70f7cac..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Foo;
-
-pub trait Bar{}
-
-pub fn bar() -> Box<Bar> {
-    unimplemented!()
-}
-
-
-pub fn try_foo(x: Foo){}
-pub fn try_bar(x: Box<Bar>){}
diff --git a/src/test/compile-fail/aux/crate_a2.rs b/src/test/compile-fail/aux/crate_a2.rs
deleted file mode 100644 (file)
index d801f25..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Foo;
-
-pub trait Bar{}
-
-pub fn bar() -> Box<Bar> {
-    unimplemented!()
-}
diff --git a/src/test/compile-fail/aux/crateresolve1-1.rs b/src/test/compile-fail/aux/crateresolve1-1.rs
deleted file mode 100644 (file)
index 050f2fe..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags:-C extra-filename=-1
-#![crate_name = "crateresolve1"]
-#![crate_type = "lib"]
-
-pub fn f() -> isize { 10 }
diff --git a/src/test/compile-fail/aux/crateresolve1-2.rs b/src/test/compile-fail/aux/crateresolve1-2.rs
deleted file mode 100644 (file)
index d19b3ba..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags:-C extra-filename=-2
-#![crate_name = "crateresolve1"]
-#![crate_type = "lib"]
-
-pub fn f() -> isize { 20 }
diff --git a/src/test/compile-fail/aux/crateresolve1-3.rs b/src/test/compile-fail/aux/crateresolve1-3.rs
deleted file mode 100644 (file)
index c5096ac..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags:-C extra-filename=-3
-#![crate_name = "crateresolve1"]
-#![crate_type = "lib"]
-
-pub fn f() -> isize { 30 }
diff --git a/src/test/compile-fail/aux/default_ty_param_cross_crate_crate.rs b/src/test/compile-fail/aux/default_ty_param_cross_crate_crate.rs
deleted file mode 100644 (file)
index 4bd8eca..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-#![crate_name = "default_param_test"]
-#![feature(default_type_parameter_fallback)]
-
-use std::marker::PhantomData;
-
-pub struct Foo<A, B>(PhantomData<(A, B)>);
-
-pub fn bleh<A=i32, X=char>() -> Foo<A, X> { Foo(PhantomData) }
-
diff --git a/src/test/compile-fail/aux/deprecation-lint.rs b/src/test/compile-fail/aux/deprecation-lint.rs
deleted file mode 100644 (file)
index ff872ef..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(deprecated)]
-
-#[deprecated(since = "1.0.0", note = "text")]
-pub fn deprecated() {}
-#[deprecated(since = "1.0.0", note = "text")]
-pub fn deprecated_text() {}
-
-pub struct MethodTester;
-
-impl MethodTester {
-    #[deprecated(since = "1.0.0", note = "text")]
-    pub fn method_deprecated(&self) {}
-    #[deprecated(since = "1.0.0", note = "text")]
-    pub fn method_deprecated_text(&self) {}
-}
-
-pub trait Trait {
-    #[deprecated(since = "1.0.0", note = "text")]
-    fn trait_deprecated(&self) {}
-    #[deprecated(since = "1.0.0", note = "text")]
-    fn trait_deprecated_text(&self) {}
-}
-
-#[deprecated(since = "1.0.0", note = "text")]
-pub trait DeprecatedTrait { fn dummy(&self) { } }
-
-impl Trait for MethodTester {}
-
-#[deprecated(since = "1.0.0", note = "text")]
-pub struct DeprecatedStruct {
-    pub i: isize
-}
-
-#[deprecated(since = "1.0.0", note = "text")]
-pub struct DeprecatedUnitStruct;
-
-pub enum Enum {
-    #[deprecated(since = "1.0.0", note = "text")]
-    DeprecatedVariant,
-}
-
-#[deprecated(since = "1.0.0", note = "text")]
-pub struct DeprecatedTupleStruct(pub isize);
-
-pub struct Stable {
-    #[deprecated(since = "1.0.0", note = "text")]
-    pub override2: u8,
-}
-
-pub struct Stable2(pub u8, pub u8, #[deprecated(since = "1.0.0", note = "text")] pub u8);
-
-#[deprecated(since = "1.0.0", note = "text")]
-pub struct Deprecated {
-    pub inherit: u8,
-}
-
-#[deprecated(since = "1.0.0", note = "text")]
-pub struct Deprecated2(pub u8,
-                       pub u8,
-                       pub u8);
-
-#[deprecated(since = "1.0.0", note = "text")]
-pub mod deprecated_mod {
-    pub fn deprecated() {}
-}
-
-#[macro_export]
-macro_rules! macro_test {
-    () => (deprecated());
-}
-
-#[macro_export]
-macro_rules! macro_test_arg {
-    ($func:expr) => ($func);
-}
-
-#[macro_export]
-macro_rules! macro_test_arg_nested {
-    ($func:ident) => (macro_test_arg!($func()));
-}
diff --git a/src/test/compile-fail/aux/empty-struct.rs b/src/test/compile-fail/aux/empty-struct.rs
deleted file mode 100644 (file)
index 22f65c2..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct XEmpty1 {}
-pub struct XEmpty2;
-
-pub enum XE {
-    XEmpty3 {},
-    XEmpty4,
-}
diff --git a/src/test/compile-fail/aux/go_trait.rs b/src/test/compile-fail/aux/go_trait.rs
deleted file mode 100644 (file)
index 044bb60..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(specialization)]
-
-// Common code used for tests that model the Fn/FnMut/FnOnce hierarchy.
-
-pub trait Go {
-    fn go(&self, arg: isize);
-}
-
-pub fn go<G:Go>(this: &G, arg: isize) {
-    this.go(arg)
-}
-
-pub trait GoMut {
-    fn go_mut(&mut self, arg: isize);
-}
-
-pub fn go_mut<G:GoMut>(this: &mut G, arg: isize) {
-    this.go_mut(arg)
-}
-
-pub trait GoOnce {
-    fn go_once(self, arg: isize);
-}
-
-pub fn go_once<G:GoOnce>(this: G, arg: isize) {
-    this.go_once(arg)
-}
-
-impl<G> GoMut for G
-    where G : Go
-{
-    default fn go_mut(&mut self, arg: isize) {
-        go(&*self, arg)
-    }
-}
-
-impl<G> GoOnce for G
-    where G : GoMut
-{
-    default fn go_once(mut self, arg: isize) {
-        go_mut(&mut self, arg)
-    }
-}
diff --git a/src/test/compile-fail/aux/inherited_stability.rs b/src/test/compile-fail/aux/inherited_stability.rs
deleted file mode 100644 (file)
index 0b1aee6..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-#![crate_name="inherited_stability"]
-#![crate_type = "lib"]
-#![unstable(feature = "test_feature", issue = "0")]
-#![feature(staged_api)]
-
-pub fn unstable() {}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub fn stable() {}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub mod stable_mod {
-    #[unstable(feature = "test_feature", issue = "0")]
-    pub fn unstable() {}
-
-    #[stable(feature = "rust1", since = "1.0.0")]
-    pub fn stable() {}
-}
-
-#[unstable(feature = "test_feature", issue = "0")]
-pub mod unstable_mod {
-    #[stable(feature = "test_feature", since = "1.0.0")]
-    #[rustc_deprecated(since = "1.0.0", reason = "text")]
-    pub fn deprecated() {}
-
-    pub fn unstable() {}
-}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub trait Stable {
-    #[unstable(feature = "test_feature", issue = "0")]
-    fn unstable(&self);
-
-    #[stable(feature = "rust1", since = "1.0.0")]
-    fn stable(&self);
-}
-
-impl Stable for usize {
-    fn unstable(&self) {}
-    fn stable(&self) {}
-}
-
-pub enum Unstable {
-    UnstableVariant,
-    #[stable(feature = "rust1", since = "1.0.0")]
-    StableVariant
-}
diff --git a/src/test/compile-fail/aux/internal_unstable.rs b/src/test/compile-fail/aux/internal_unstable.rs
deleted file mode 100644 (file)
index a4cd487..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(staged_api, allow_internal_unstable)]
-#![stable(feature = "stable", since = "1.0.0")]
-
-#[unstable(feature = "function", issue = "0")]
-pub fn unstable() {}
-
-
-#[stable(feature = "stable", since = "1.0.0")]
-pub struct Foo {
-    #[unstable(feature = "struct_field", issue = "0")]
-    pub x: u8
-}
-
-impl Foo {
-    #[unstable(feature = "method", issue = "0")]
-    pub fn method(&self) {}
-}
-
-#[stable(feature = "stable", since = "1.0.0")]
-pub struct Bar {
-    #[unstable(feature = "struct2_field", issue = "0")]
-    pub x: u8
-}
-
-#[stable(feature = "stable", since = "1.0.0")]
-#[allow_internal_unstable]
-#[macro_export]
-macro_rules! call_unstable_allow {
-    () => { $crate::unstable() }
-}
-
-#[stable(feature = "stable", since = "1.0.0")]
-#[allow_internal_unstable]
-#[macro_export]
-macro_rules! construct_unstable_allow {
-    ($e: expr) => {
-        $crate::Foo { x: $e }
-    }
-}
-
-#[stable(feature = "stable", since = "1.0.0")]
-#[allow_internal_unstable]
-#[macro_export]
-macro_rules! call_method_allow {
-    ($e: expr) => { $e.method() }
-}
-
-#[stable(feature = "stable", since = "1.0.0")]
-#[allow_internal_unstable]
-#[macro_export]
-macro_rules! access_field_allow {
-    ($e: expr) => { $e.x }
-}
-
-#[stable(feature = "stable", since = "1.0.0")]
-#[allow_internal_unstable]
-#[macro_export]
-macro_rules! pass_through_allow {
-    ($e: expr) => { $e }
-}
-
-#[stable(feature = "stable", since = "1.0.0")]
-#[macro_export]
-macro_rules! call_unstable_noallow {
-    () => { $crate::unstable() }
-}
-
-#[stable(feature = "stable", since = "1.0.0")]
-#[macro_export]
-macro_rules! construct_unstable_noallow {
-    ($e: expr) => {
-        $crate::Foo { x: $e }
-    }
-}
-
-#[stable(feature = "stable", since = "1.0.0")]
-#[macro_export]
-macro_rules! call_method_noallow {
-    ($e: expr) => { $e.method() }
-}
-
-#[stable(feature = "stable", since = "1.0.0")]
-#[macro_export]
-macro_rules! access_field_noallow {
-    ($e: expr) => { $e.x }
-}
-
-#[stable(feature = "stable", since = "1.0.0")]
-#[macro_export]
-macro_rules! pass_through_noallow {
-    ($e: expr) => { $e }
-}
diff --git a/src/test/compile-fail/aux/issue-19163.rs b/src/test/compile-fail/aux/issue-19163.rs
deleted file mode 100644 (file)
index 76c5cda..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-#[macro_export]
-macro_rules! mywrite {
-    ($dst:expr, $($arg:tt)*) => ($dst.write_fmt(format_args!($($arg)*)))
-}
diff --git a/src/test/compile-fail/aux/issue-21146-inc.rs b/src/test/compile-fail/aux/issue-21146-inc.rs
deleted file mode 100644 (file)
index 1b740d1..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// include file for issue-21146.rs
-
-parse_error
diff --git a/src/test/compile-fail/aux/issue-21221-3.rs b/src/test/compile-fail/aux/issue-21221-3.rs
deleted file mode 100644 (file)
index fae0fe1..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// testing whether the lookup mechanism picks up types
-// defined in the outside crate
-
-#![crate_type="lib"]
-
-pub mod outer {
-    // should suggest this
-    pub trait OuterTrait {}
-
-    // should not suggest this since the module is private
-    mod private_module {
-        pub trait OuterTrait {}
-    }
-
-    // should not suggest since the trait is private
-    pub mod public_module {
-        trait OuterTrait {}
-    }
-}
diff --git a/src/test/compile-fail/aux/issue-21221-4.rs b/src/test/compile-fail/aux/issue-21221-4.rs
deleted file mode 100644 (file)
index fffe060..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// testing whether the lookup mechanism picks up types
-// defined in the outside crate
-
-#![crate_type="lib"]
-
-mod foo {
-    // should not be suggested => foo is private
-    pub trait T {}
-}
-
-// should be suggested
-pub use foo::T;
diff --git a/src/test/compile-fail/aux/issue-29181.rs b/src/test/compile-fail/aux/issue-29181.rs
deleted file mode 100644 (file)
index 361f1ea..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-pub mod foo {
-    pub use super::*;
-}
diff --git a/src/test/compile-fail/aux/issue-30535.rs b/src/test/compile-fail/aux/issue-30535.rs
deleted file mode 100644 (file)
index 8d44e8d..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-pub enum Foo {
-    FooV { data: () }
-}
diff --git a/src/test/compile-fail/aux/issue_11680.rs b/src/test/compile-fail/aux/issue_11680.rs
deleted file mode 100644 (file)
index 18f7875..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-enum Foo {
-    Bar(isize)
-}
-
-pub mod test {
-    enum Foo {
-        Bar(isize)
-    }
-}
diff --git a/src/test/compile-fail/aux/issue_12612_1.rs b/src/test/compile-fail/aux/issue_12612_1.rs
deleted file mode 100644 (file)
index a0234c1..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod bar {
-    pub fn foo() {}
-}
diff --git a/src/test/compile-fail/aux/issue_16725.rs b/src/test/compile-fail/aux/issue_16725.rs
deleted file mode 100644 (file)
index b3b04b4..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-extern {
-    fn bar();
-}
diff --git a/src/test/compile-fail/aux/issue_17718_const_privacy.rs b/src/test/compile-fail/aux/issue_17718_const_privacy.rs
deleted file mode 100644 (file)
index 3901d73..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub use foo::FOO2;
-
-pub const FOO: usize = 3;
-const BAR: usize = 3;
-
-mod foo {
-    pub const FOO2: usize = 3;
-}
diff --git a/src/test/compile-fail/aux/issue_21202.rs b/src/test/compile-fail/aux/issue_21202.rs
deleted file mode 100644 (file)
index afdbf78..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod A {
-    pub struct Foo;
-    impl Foo {
-        fn foo(&self) { }
-    }
-}
diff --git a/src/test/compile-fail/aux/issue_30123_aux.rs b/src/test/compile-fail/aux/issue_30123_aux.rs
deleted file mode 100644 (file)
index f60311a..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use std::marker::PhantomData;
-
-pub struct Directed;
-pub struct Undirected;
-
-pub struct Graph<N, E, Ty = Directed> {
-    nodes: Vec<PhantomData<N>>,
-    edges: Vec<PhantomData<E>>,
-    ty: PhantomData<Ty>,
-}
-
-
-impl<N, E> Graph<N, E, Directed> {
-    pub fn new() -> Self {
-        Graph{nodes: Vec::new(), edges: Vec::new(), ty: PhantomData}
-    }
-}
-
-impl<N, E> Graph<N, E, Undirected> {
-    pub fn new_undirected() -> Self {
-        Graph{nodes: Vec::new(), edges: Vec::new(), ty: PhantomData}
-    }
-}
diff --git a/src/test/compile-fail/aux/issue_3907.rs b/src/test/compile-fail/aux/issue_3907.rs
deleted file mode 100644 (file)
index 6472c08..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub trait Foo {
-    fn bar();
-}
diff --git a/src/test/compile-fail/aux/issue_5844_aux.rs b/src/test/compile-fail/aux/issue_5844_aux.rs
deleted file mode 100644 (file)
index 5c878b1..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(libc)]
-
-extern crate libc;
-
-extern "C" {
-    pub fn rand() -> libc::c_int;
-}
diff --git a/src/test/compile-fail/aux/lifetime_bound_will_change_warning_lib.rs b/src/test/compile-fail/aux/lifetime_bound_will_change_warning_lib.rs
deleted file mode 100644 (file)
index 95f8b39..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "rlib"]
-
-// Helper for testing that we get suitable warnings when lifetime
-// bound change will cause breakage.
-
-pub fn just_ref(x: &Fn()) {
-}
-
-pub fn ref_obj(x: &Box<Fn()>) {
-    // this will change to &Box<Fn()+'static>...
-}
diff --git a/src/test/compile-fail/aux/lint_output_format.rs b/src/test/compile-fail/aux/lint_output_format.rs
deleted file mode 100644 (file)
index 0553b4a..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="lint_output_format"]
-#![crate_type = "lib"]
-#![feature(staged_api)]
-#![unstable(feature = "test_feature", issue = "0")]
-
-#[stable(feature = "test_feature", since = "1.0.0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub fn foo() -> usize {
-    20
-}
-
-#[unstable(feature = "test_feature", issue = "0")]
-pub fn bar() -> usize {
-    40
-}
-
-#[unstable(feature = "test_feature", issue = "0")]
-pub fn baz() -> usize {
-    30
-}
diff --git a/src/test/compile-fail/aux/lint_stability.rs b/src/test/compile-fail/aux/lint_stability.rs
deleted file mode 100644 (file)
index 3100aba..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-#![crate_name="lint_stability"]
-#![crate_type = "lib"]
-#![feature(staged_api)]
-#![stable(feature = "lint_stability", since = "1.0.0")]
-
-#[stable(feature = "test_feature", since = "1.0.0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub fn deprecated() {}
-#[stable(feature = "test_feature", since = "1.0.0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub fn deprecated_text() {}
-
-#[unstable(feature = "test_feature", issue = "0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub fn deprecated_unstable() {}
-#[unstable(feature = "test_feature", issue = "0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub fn deprecated_unstable_text() {}
-
-#[unstable(feature = "test_feature", issue = "0")]
-pub fn unstable() {}
-#[unstable(feature = "test_feature", reason = "text", issue = "0")]
-pub fn unstable_text() {}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub fn stable() {}
-#[stable(feature = "rust1", since = "1.0.0")]
-pub fn stable_text() {}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct MethodTester;
-
-impl MethodTester {
-    #[stable(feature = "test_feature", since = "1.0.0")]
-    #[rustc_deprecated(since = "1.0.0", reason = "text")]
-    pub fn method_deprecated(&self) {}
-    #[stable(feature = "test_feature", since = "1.0.0")]
-    #[rustc_deprecated(since = "1.0.0", reason = "text")]
-    pub fn method_deprecated_text(&self) {}
-
-    #[unstable(feature = "test_feature", issue = "0")]
-    #[rustc_deprecated(since = "1.0.0", reason = "text")]
-    pub fn method_deprecated_unstable(&self) {}
-    #[unstable(feature = "test_feature", issue = "0")]
-    #[rustc_deprecated(since = "1.0.0", reason = "text")]
-    pub fn method_deprecated_unstable_text(&self) {}
-
-    #[unstable(feature = "test_feature", issue = "0")]
-    pub fn method_unstable(&self) {}
-    #[unstable(feature = "test_feature", reason = "text", issue = "0")]
-    pub fn method_unstable_text(&self) {}
-
-    #[stable(feature = "rust1", since = "1.0.0")]
-    pub fn method_stable(&self) {}
-    #[stable(feature = "rust1", since = "1.0.0")]
-    pub fn method_stable_text(&self) {}
-}
-
-#[stable(feature = "test_feature", since = "1.0.0")]
-pub trait Trait {
-    #[stable(feature = "test_feature", since = "1.0.0")]
-    #[rustc_deprecated(since = "1.0.0", reason = "text")]
-    fn trait_deprecated(&self) {}
-    #[stable(feature = "test_feature", since = "1.0.0")]
-    #[rustc_deprecated(since = "1.0.0", reason = "text")]
-    fn trait_deprecated_text(&self) {}
-
-    #[unstable(feature = "test_feature", issue = "0")]
-    #[rustc_deprecated(since = "1.0.0", reason = "text")]
-    fn trait_deprecated_unstable(&self) {}
-    #[unstable(feature = "test_feature", issue = "0")]
-    #[rustc_deprecated(since = "1.0.0", reason = "text")]
-    fn trait_deprecated_unstable_text(&self) {}
-
-    #[unstable(feature = "test_feature", issue = "0")]
-    fn trait_unstable(&self) {}
-    #[unstable(feature = "test_feature", reason = "text", issue = "0")]
-    fn trait_unstable_text(&self) {}
-
-    #[stable(feature = "rust1", since = "1.0.0")]
-    fn trait_stable(&self) {}
-    #[stable(feature = "rust1", since = "1.0.0")]
-    fn trait_stable_text(&self) {}
-}
-
-#[stable(feature = "test_feature", since = "1.0.0")]
-impl Trait for MethodTester {}
-
-#[unstable(feature = "test_feature", issue = "0")]
-pub trait UnstableTrait { fn dummy(&self) { } }
-
-#[stable(feature = "test_feature", since = "1.0.0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub trait DeprecatedTrait {
-    #[stable(feature = "test_feature", since = "1.0.0")] fn dummy(&self) { }
-}
-
-#[stable(feature = "test_feature", since = "1.0.0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub struct DeprecatedStruct {
-    #[stable(feature = "test_feature", since = "1.0.0")] pub i: isize
-}
-#[unstable(feature = "test_feature", issue = "0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub struct DeprecatedUnstableStruct {
-    #[stable(feature = "test_feature", since = "1.0.0")] pub i: isize
-}
-#[unstable(feature = "test_feature", issue = "0")]
-pub struct UnstableStruct {
-    #[stable(feature = "test_feature", since = "1.0.0")] pub i: isize
-}
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct StableStruct {
-    #[stable(feature = "test_feature", since = "1.0.0")] pub i: isize
-}
-
-#[stable(feature = "test_feature", since = "1.0.0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub struct DeprecatedUnitStruct;
-#[unstable(feature = "test_feature", issue = "0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub struct DeprecatedUnstableUnitStruct;
-#[unstable(feature = "test_feature", issue = "0")]
-pub struct UnstableUnitStruct;
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct StableUnitStruct;
-
-#[stable(feature = "test_feature", since = "1.0.0")]
-pub enum Enum {
-    #[stable(feature = "test_feature", since = "1.0.0")]
-    #[rustc_deprecated(since = "1.0.0", reason = "text")]
-    DeprecatedVariant,
-    #[unstable(feature = "test_feature", issue = "0")]
-    #[rustc_deprecated(since = "1.0.0", reason = "text")]
-    DeprecatedUnstableVariant,
-    #[unstable(feature = "test_feature", issue = "0")]
-    UnstableVariant,
-
-    #[stable(feature = "rust1", since = "1.0.0")]
-    StableVariant,
-}
-
-#[stable(feature = "test_feature", since = "1.0.0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub struct DeprecatedTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
-#[unstable(feature = "test_feature", issue = "0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub struct DeprecatedUnstableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
-#[unstable(feature = "test_feature", issue = "0")]
-pub struct UnstableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct StableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
-
-#[stable(feature = "test_feature", since = "1.0.0")]
-#[macro_export]
-macro_rules! macro_test {
-    () => (deprecated());
-}
-
-#[stable(feature = "test_feature", since = "1.0.0")]
-#[macro_export]
-macro_rules! macro_test_arg {
-    ($func:expr) => ($func);
-}
-
-#[stable(feature = "test_feature", since = "1.0.0")]
-#[macro_export]
-macro_rules! macro_test_arg_nested {
-    ($func:ident) => (macro_test_arg!($func()));
-}
diff --git a/src/test/compile-fail/aux/lint_stability_fields.rs b/src/test/compile-fail/aux/lint_stability_fields.rs
deleted file mode 100644 (file)
index 8c6b98a..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(staged_api)]
-#![stable(feature = "rust1", since = "1.0.0")]
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct Stable {
-    #[stable(feature = "rust1", since = "1.0.0")]
-    pub inherit: u8, // it's a lie (stable doesn't inherit)
-    #[unstable(feature = "test_feature", issue = "0")]
-    pub override1: u8,
-    #[rustc_deprecated(since = "1.0.0", reason = "text")]
-    #[unstable(feature = "test_feature", issue = "0")]
-    pub override2: u8,
-}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct Stable2(#[stable(feature = "rust1", since = "1.0.0")] pub u8,
-                   #[unstable(feature = "test_feature", issue = "0")] pub u8,
-                   #[unstable(feature = "test_feature", issue = "0")]
-                   #[rustc_deprecated(since = "1.0.0", reason = "text")] pub u8);
-
-#[unstable(feature = "test_feature", issue = "0")]
-pub struct Unstable {
-    pub inherit: u8,
-    #[stable(feature = "rust1", since = "1.0.0")]
-    pub override1: u8,
-    #[rustc_deprecated(since = "1.0.0", reason = "text")]
-    #[unstable(feature = "test_feature", issue = "0")]
-    pub override2: u8,
-}
-
-#[unstable(feature = "test_feature", issue = "0")]
-pub struct Unstable2(pub u8,
-                     #[stable(feature = "rust1", since = "1.0.0")] pub u8,
-                     #[unstable(feature = "test_feature", issue = "0")]
-                     #[rustc_deprecated(since = "1.0.0", reason = "text")] pub u8);
-
-#[unstable(feature = "test_feature", issue = "0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub struct Deprecated {
-    pub inherit: u8,
-    #[stable(feature = "rust1", since = "1.0.0")]
-    pub override1: u8,
-    #[unstable(feature = "test_feature", issue = "0")]
-    pub override2: u8,
-}
-
-#[unstable(feature = "test_feature", issue = "0")]
-#[rustc_deprecated(since = "1.0.0", reason = "text")]
-pub struct Deprecated2(pub u8,
-                       #[stable(feature = "rust1", since = "1.0.0")] pub u8,
-                       #[unstable(feature = "test_feature", issue = "0")] pub u8);
diff --git a/src/test/compile-fail/aux/lint_unused_extern_crate.rs b/src/test/compile-fail/aux/lint_unused_extern_crate.rs
deleted file mode 100644 (file)
index 2661b1f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn foo() {}
diff --git a/src/test/compile-fail/aux/macro_crate_nonterminal.rs b/src/test/compile-fail/aux/macro_crate_nonterminal.rs
deleted file mode 100644 (file)
index 4f75e2b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn increment(x: usize) -> usize {
-    x + 1
-}
-
-#[macro_export]
-macro_rules! increment {
-    ($x:expr) => ($crate::increment($x))
-}
-
-pub fn check_local() {
-    assert_eq!(increment!(3), 4);
-}
diff --git a/src/test/compile-fail/aux/macro_non_reexport_2.rs b/src/test/compile-fail/aux/macro_non_reexport_2.rs
deleted file mode 100644 (file)
index 910fcd2..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "dylib"]
-
-// Since we load a serialized macro with all its attributes, accidentally
-// re-exporting a `#[macro_export] macro_rules!` is something of a concern!
-//
-// We avoid it at the moment only because of the order in which we do things.
-
-#[macro_use] #[no_link]
-extern crate macro_reexport_1;
diff --git a/src/test/compile-fail/aux/macro_reexport_1.rs b/src/test/compile-fail/aux/macro_reexport_1.rs
deleted file mode 100644 (file)
index aaeccc6..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "dylib"]
-#[macro_export]
-macro_rules! reexported {
-    () => ( 3 )
-}
diff --git a/src/test/compile-fail/aux/namespaced_enums.rs b/src/test/compile-fail/aux/namespaced_enums.rs
deleted file mode 100644 (file)
index 3bf39b7..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub enum Foo {
-    A,
-    B(isize),
-    C { a: isize },
-}
-
-impl Foo {
-    pub fn foo() {}
-    pub fn bar(&self) {}
-}
diff --git a/src/test/compile-fail/aux/needs_allocator.rs b/src/test/compile-fail/aux/needs_allocator.rs
deleted file mode 100644 (file)
index 5100316..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![feature(needs_allocator)]
-#![no_std]
-#![needs_allocator]
-#![crate_type = "rlib"]
diff --git a/src/test/compile-fail/aux/no_method_suggested_traits.rs b/src/test/compile-fail/aux/no_method_suggested_traits.rs
deleted file mode 100644 (file)
index 20cebb9..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub use reexport::Reexported;
-
-pub struct Foo;
-pub enum Bar { X }
-
-pub mod foo {
-    pub trait PubPub {
-        fn method(&self) {}
-
-        fn method3(&self) {}
-    }
-
-    impl PubPub for u32 {}
-    impl PubPub for i32 {}
-}
-pub mod bar {
-    trait PubPriv {
-        fn method(&self);
-    }
-}
-mod qux {
-    pub trait PrivPub {
-        fn method(&self);
-    }
-}
-mod quz {
-    trait PrivPriv {
-        fn method(&self);
-    }
-}
-
-mod reexport {
-    pub trait Reexported {
-        fn method(&self);
-    }
-}
diff --git a/src/test/compile-fail/aux/noexporttypelib.rs b/src/test/compile-fail/aux/noexporttypelib.rs
deleted file mode 100644 (file)
index 5ae8e0d..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub type oint = Option<isize>;
-pub fn foo() -> oint { Some(3) }
diff --git a/src/test/compile-fail/aux/orphan_check_diagnostics.rs b/src/test/compile-fail/aux/orphan_check_diagnostics.rs
deleted file mode 100644 (file)
index cf3e990..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub trait RemoteTrait { fn dummy(&self) { } }
diff --git a/src/test/compile-fail/aux/privacy_tuple_struct.rs b/src/test/compile-fail/aux/privacy_tuple_struct.rs
deleted file mode 100644 (file)
index 141b6bd..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct A(());
-pub struct B(isize);
-pub struct C(pub isize, isize);
-pub struct D(pub isize);
diff --git a/src/test/compile-fail/aux/private_trait_xc.rs b/src/test/compile-fail/aux/private_trait_xc.rs
deleted file mode 100644 (file)
index 37ee10c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-trait Foo {}
diff --git a/src/test/compile-fail/aux/pub_static_array.rs b/src/test/compile-fail/aux/pub_static_array.rs
deleted file mode 100644 (file)
index 4419a5a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub static ARRAY: &'static [u8] = &[1];
diff --git a/src/test/compile-fail/aux/rbmtp_cross_crate_lib.rs b/src/test/compile-fail/aux/rbmtp_cross_crate_lib.rs
deleted file mode 100644 (file)
index f49ac4f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// Check that method bounds declared on traits/impls in a cross-crate
-// scenario work. This is the library portion of the test.
-
-pub enum MaybeOwned<'a> {
-    Owned(isize),
-    Borrowed(&'a isize)
-}
-
-pub struct Inv<'a> { // invariant w/r/t 'a
-    x: &'a mut &'a isize
-}
-
-// I encountered a bug at some point with encoding the IntoMaybeOwned
-// trait, so I'll use that as the template for this test.
-pub trait IntoMaybeOwned<'a> {
-    fn into_maybe_owned(self) -> MaybeOwned<'a>;
-
-    // Note: without this `into_inv` method, the trait is
-    // contravariant w/r/t `'a`, since if you look strictly at the
-    // interface, it only returns `'a`. This complicates the
-    // downstream test since it wants invariance to force an error.
-    // Hence we add this method.
-    fn into_inv(self) -> Inv<'a>;
-
-    fn bigger_region<'b:'a>(self, b: Inv<'b>);
-}
-
-impl<'a> IntoMaybeOwned<'a> for Inv<'a> {
-    fn into_maybe_owned(self) -> MaybeOwned<'a> { panic!() }
-    fn into_inv(self) -> Inv<'a> { panic!() }
-    fn bigger_region<'b:'a>(self, b: Inv<'b>) { panic!() }
-}
diff --git a/src/test/compile-fail/aux/stability_attribute_issue.rs b/src/test/compile-fail/aux/stability_attribute_issue.rs
deleted file mode 100644 (file)
index 22c13f6..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(staged_api)]
-#![stable(feature = "foo", since = "1.2.0")]
-
-
-#[unstable(feature = "foo", issue = "1")]
-pub fn unstable() {}
-
-#[unstable(feature = "foo", reason = "message", issue = "2")]
-pub fn unstable_msg() {}
diff --git a/src/test/compile-fail/aux/stability_cfg1.rs b/src/test/compile-fail/aux/stability_cfg1.rs
deleted file mode 100644 (file)
index c839993..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![cfg_attr(foo, experimental)]
-#![cfg_attr(not(foo), stable(feature = "test_feature", since = "1.0.0"))]
-#![feature(staged_api)]
diff --git a/src/test/compile-fail/aux/stability_cfg2.rs b/src/test/compile-fail/aux/stability_cfg2.rs
deleted file mode 100644 (file)
index c1e2b1d..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags:--cfg foo
-
-#![cfg_attr(foo, unstable(feature = "test_feature", issue = "0"))]
-#![cfg_attr(not(foo), stable(feature = "test_feature", since = "1.0.0"))]
-#![feature(staged_api)]
diff --git a/src/test/compile-fail/aux/static_priv_by_default.rs b/src/test/compile-fail/aux/static_priv_by_default.rs
deleted file mode 100644 (file)
index 859f38e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-static private: isize = 0;
-pub static public: isize = 0;
-
-pub struct A(());
-
-impl A {
-    fn foo() {}
-}
-
-mod foo {
-    pub static a: isize = 0;
-    pub fn b() {}
-    pub struct c;
-    pub enum d {}
-    pub type e = isize;
-
-    pub struct A(());
-
-    impl A {
-        fn foo() {}
-    }
-
-    // these are public so the parent can reexport them.
-    pub static reexported_a: isize = 0;
-    pub fn reexported_b() {}
-    pub struct reexported_c;
-    pub enum reexported_d {}
-    pub type reexported_e = isize;
-}
-
-pub mod bar {
-    pub use foo::reexported_a as e;
-    pub use foo::reexported_b as f;
-    pub use foo::reexported_c as g;
-    pub use foo::reexported_d as h;
-    pub use foo::reexported_e as i;
-}
-
-pub static a: isize = 0;
-pub fn b() {}
-pub struct c;
-pub enum d {}
-pub type e = isize;
-
-static j: isize = 0;
-fn k() {}
-struct l;
-enum m {}
-type n = isize;
diff --git a/src/test/compile-fail/aux/struct_field_privacy.rs b/src/test/compile-fail/aux/struct_field_privacy.rs
deleted file mode 100644 (file)
index 5fea97d..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct A {
-    a: isize,
-    pub b: isize,
-}
-
-pub struct B {
-    pub a: isize,
-    b: isize,
-}
diff --git a/src/test/compile-fail/aux/struct_variant_privacy.rs b/src/test/compile-fail/aux/struct_variant_privacy.rs
deleted file mode 100644 (file)
index 40868fa..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-enum Bar {
-    Baz { a: isize }
-}
diff --git a/src/test/compile-fail/aux/svh-a-base.rs b/src/test/compile-fail/aux/svh-a-base.rs
deleted file mode 100644 (file)
index 31a97f6..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : isize = 2;
-
-pub fn foo<T:U>(_: isize) -> isize {
-    3
-}
-
-pub fn an_unused_name() -> isize {
-    4
-}
diff --git a/src/test/compile-fail/aux/svh-a-change-lit.rs b/src/test/compile-fail/aux/svh-a-change-lit.rs
deleted file mode 100644 (file)
index 5339fc8..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : isize = 2;
-
-pub fn foo<T:U>(_: isize) -> isize {
-    0
-}
-
-pub fn an_unused_name() -> isize {
-    4
-}
diff --git a/src/test/compile-fail/aux/svh-a-change-significant-cfg.rs b/src/test/compile-fail/aux/svh-a-change-significant-cfg.rs
deleted file mode 100644 (file)
index 2a5d944..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : isize = 2;
-
-#[cfg(some_flag)]
-pub fn foo<T:U>(_: isize) -> isize {
-    3
-}
-
-#[cfg(not(some_flag))]
-pub fn an_unused_name() -> isize {
-    4
-}
diff --git a/src/test/compile-fail/aux/svh-a-change-trait-bound.rs b/src/test/compile-fail/aux/svh-a-change-trait-bound.rs
deleted file mode 100644 (file)
index 61f2f28..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : isize = 2;
-
-pub fn foo<T:V>(_: isize) -> isize {
-    3
-}
-
-pub fn an_unused_name() -> isize {
-    4
-}
diff --git a/src/test/compile-fail/aux/svh-a-change-type-arg.rs b/src/test/compile-fail/aux/svh-a-change-type-arg.rs
deleted file mode 100644 (file)
index 270ce95..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : isize = 2;
-
-pub fn foo<T:U>(_: i32) -> isize {
-    3
-}
-
-pub fn an_unused_name() -> isize {
-    4
-}
diff --git a/src/test/compile-fail/aux/svh-a-change-type-ret.rs b/src/test/compile-fail/aux/svh-a-change-type-ret.rs
deleted file mode 100644 (file)
index de4cc85..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : isize = 2;
-
-pub fn foo<T:U>(_: isize) -> i64 {
-    3
-}
-
-pub fn an_unused_name() -> i32 {
-    4
-}
diff --git a/src/test/compile-fail/aux/svh-a-change-type-static.rs b/src/test/compile-fail/aux/svh-a-change-type-static.rs
deleted file mode 100644 (file)
index 62f7986..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-#![feature(core)]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : i32 = 2;
-
-pub fn foo<T:U>(_: isize) -> isize {
-    3
-}
-
-pub fn an_unused_name() -> isize {
-    4
-}
diff --git a/src/test/compile-fail/aux/svh-b.rs b/src/test/compile-fail/aux/svh-b.rs
deleted file mode 100644 (file)
index b8946fd..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! This is a client of the `a` crate defined in "svn-a-base.rs".  The
-//! rpass and cfail tests (such as "run-pass/svh-add-comment.rs") use
-//! it by swapping in a different object code library crate built from
-//! some variant of "svn-a-base.rs", and then we are checking if the
-//! compiler properly ignores or accepts the change, based on whether
-//! the change could affect the downstream crate content or not
-//! (#14132).
-
-#![crate_name = "b"]
-
-extern crate a;
-
-pub fn foo() { assert_eq!(a::foo::<()>(0), 3); }
diff --git a/src/test/compile-fail/aux/svh-uta-base.rs b/src/test/compile-fail/aux/svh-uta-base.rs
deleted file mode 100644 (file)
index 6bd3dda..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! "compile-fail/svh-uta-trait.rs" is checking that we detect a
-//! change from `use foo::TraitB` to use `foo::TraitB` in the hash
-//! (SVH) computation (#14132), since that will affect method
-//! resolution.
-//!
-//! This is the upstream crate.
-
-#![crate_name = "uta"]
-
-mod traits {
-    pub trait TraitA { fn val(&self) -> isize { 2 } }
-    pub trait TraitB { fn val(&self) -> isize { 3 } }
-}
-
-impl traits::TraitA for () {}
-impl traits::TraitB for () {}
-
-pub fn foo<T>(_: isize) -> isize {
-    use traits::TraitA;
-    let v = ();
-    v.val()
-}
diff --git a/src/test/compile-fail/aux/svh-uta-change-use-trait.rs b/src/test/compile-fail/aux/svh-uta-change-use-trait.rs
deleted file mode 100644 (file)
index e863416..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! "compile-fail/svh-uta-trait.rs" is checking that we detect a
-//! change from `use foo::TraitB` to use `foo::TraitB` in the hash
-//! (SVH) computation (#14132), since that will affect method
-//! resolution.
-//!
-//! This is the upstream crate.
-
-#![crate_name = "uta"]
-
-mod traits {
-    pub trait TraitA { fn val(&self) -> isize { 2 } }
-    pub trait TraitB { fn val(&self) -> isize { 3 } }
-}
-
-impl traits::TraitA for () {}
-impl traits::TraitB for () {}
-
-pub fn foo<T>(_: isize) -> isize {
-    use traits::TraitB;
-    let v = ();
-    v.val()
-}
diff --git a/src/test/compile-fail/aux/svh-utb.rs b/src/test/compile-fail/aux/svh-utb.rs
deleted file mode 100644 (file)
index eb3da98..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! "compile-fail/svh-uta-trait.rs" is checking that we detect a
-//! change from `use foo::TraitB` to use `foo::TraitB` in the hash
-//! (SVH) computation (#14132), since that will affect method
-//! resolution.
-//!
-//! This is the downstream crate.
-
-#![crate_name = "utb"]
-
-extern crate uta;
-
-pub fn foo() { assert_eq!(uta::foo::<()>(0), 3); }
diff --git a/src/test/compile-fail/aux/tdticc_coherence_lib.rs b/src/test/compile-fail/aux/tdticc_coherence_lib.rs
deleted file mode 100644 (file)
index 2e425ac..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(optin_builtin_traits, core)]
-#![crate_type = "rlib"]
-
-pub trait DefaultedTrait { }
-impl DefaultedTrait for .. { }
-
-pub struct Something<T> { t: T }
diff --git a/src/test/compile-fail/aux/trait_bounds_on_structs_and_enums_xc.rs b/src/test/compile-fail/aux/trait_bounds_on_structs_and_enums_xc.rs
deleted file mode 100644 (file)
index 29cb0bc..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub trait Trait {
-    fn dummy(&self) { }
-}
-
-pub struct Foo<T:Trait> {
-    pub x: T,
-}
-
-pub enum Bar<T:Trait> {
-    ABar(isize),
-    BBar(T),
-    CBar(usize),
-}
diff --git a/src/test/compile-fail/aux/trait_impl_conflict.rs b/src/test/compile-fail/aux/trait_impl_conflict.rs
deleted file mode 100644 (file)
index c3ecbb0..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub trait Foo {
-}
-
-impl Foo for isize {
-}
diff --git a/src/test/compile-fail/aux/trait_safety_lib.rs b/src/test/compile-fail/aux/trait_safety_lib.rs
deleted file mode 100644 (file)
index 585a756..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// Simple smoke test that unsafe traits can be compiled etc.
-
-pub unsafe trait Foo {
-    fn foo(&self) -> isize;
-}
-
-unsafe impl Foo for isize {
-    fn foo(&self) -> isize { *self }
-}
diff --git a/src/test/compile-fail/aux/trait_superkinds_in_metadata.rs b/src/test/compile-fail/aux/trait_superkinds_in_metadata.rs
deleted file mode 100644 (file)
index 0fa2d34..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// Test library crate for cross-crate usages of traits inheriting
-// from the builtin kinds. Mostly tests metadata correctness.
-
-#![crate_type="lib"]
-
-pub trait RequiresShare : Sync { }
-pub trait RequiresRequiresShareAndSend : RequiresShare + Send { }
-pub trait RequiresCopy : Copy { }
diff --git a/src/test/compile-fail/aux/two_macros.rs b/src/test/compile-fail/aux/two_macros.rs
deleted file mode 100644 (file)
index 060960f..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[macro_export]
-macro_rules! macro_one { () => ("one") }
-
-#[macro_export]
-macro_rules! macro_two { () => ("two") }
diff --git a/src/test/compile-fail/aux/unreachable_variant.rs b/src/test/compile-fail/aux/unreachable_variant.rs
deleted file mode 100644 (file)
index 8ca85f2..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-mod super_sekrit {
-    pub enum sooper_sekrit {
-        quux, baz
-    }
-}
diff --git a/src/test/compile-fail/aux/use_from_trait_xc.rs b/src/test/compile-fail/aux/use_from_trait_xc.rs
deleted file mode 100644 (file)
index 7024c9d..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(associated_consts)]
-
-pub use self::sub::{Bar, Baz};
-
-pub trait Trait {
-    fn foo(&self);
-    type Assoc;
-    const CONST: u32;
-}
-
-struct Foo;
-
-impl Foo {
-    pub fn new() {}
-
-    pub const C: u32 = 0;
-}
-
-mod sub {
-    pub struct Bar;
-
-    impl Bar {
-        pub fn new() {}
-    }
-
-    pub enum Baz {}
-
-    impl Baz {
-        pub fn new() {}
-    }
-}
diff --git a/src/test/compile-fail/aux/variant-namespacing.rs b/src/test/compile-fail/aux/variant-namespacing.rs
deleted file mode 100644 (file)
index d7fd296..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub enum XE {
-    XStruct { a: u8 },
-    XTuple(u8),
-    XUnit,
-}
diff --git a/src/test/compile-fail/aux/weak-lang-items.rs b/src/test/compile-fail/aux/weak-lang-items.rs
deleted file mode 100644 (file)
index 6434e62..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-// This aux-file will require the eh_personality function to be codegen'd, but
-// it hasn't been defined just yet. Make sure we don't explode.
-
-#![no_std]
-#![crate_type = "rlib"]
-
-struct A;
-
-impl core::ops::Drop for A {
-    fn drop(&mut self) {}
-}
-
-pub fn foo() {
-    let _a = A;
-    panic!("wut");
-}
-
-mod std {
-    pub use core::{option, fmt};
-}
diff --git a/src/test/compile-fail/aux/xc_private_method_lib.rs b/src/test/compile-fail/aux/xc_private_method_lib.rs
deleted file mode 100644 (file)
index 5e7bc61..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-pub struct Struct {
-    pub x: isize
-}
-
-impl Struct {
-    fn static_meth_struct() -> Struct {
-        Struct { x: 1 }
-    }
-
-    fn meth_struct(&self) -> isize {
-        self.x
-    }
-}
-
-pub enum Enum {
-    Variant1(isize),
-    Variant2(isize)
-}
-
-impl Enum {
-    fn static_meth_enum() -> Enum {
-        Enum::Variant2(10)
-    }
-
-    fn meth_enum(&self) -> isize {
-        match *self {
-            Enum::Variant1(x) |
-            Enum::Variant2(x) => x
-        }
-    }
-}
diff --git a/src/test/compile-fail/aux/xcrate_unit_struct.rs b/src/test/compile-fail/aux/xcrate_unit_struct.rs
deleted file mode 100644 (file)
index 7a69be2..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-// used by the rpass test
-
-#[derive(Copy, Clone)]
-pub struct Struct;
-
-#[derive(Copy, Clone)]
-pub enum Unit {
-    UnitVariant,
-    Argument(Struct)
-}
-
-#[derive(Copy, Clone)]
-pub struct TupleStruct(pub usize, pub &'static str);
-
-// used by the cfail test
-
-#[derive(Copy, Clone)]
-pub struct StructWithFields {
-    foo: isize,
-}
-
-#[derive(Copy, Clone)]
-pub enum EnumWithVariants {
-    EnumVariant,
-    EnumVariantArg(isize)
-}
diff --git a/src/test/compile-fail/auxiliary/allocator-dylib.rs b/src/test/compile-fail/auxiliary/allocator-dylib.rs
new file mode 100644 (file)
index 0000000..568b247
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![crate_type = "dylib"]
+
+pub fn foo() {}
diff --git a/src/test/compile-fail/auxiliary/allocator-dylib2.rs b/src/test/compile-fail/auxiliary/allocator-dylib2.rs
new file mode 100644 (file)
index 0000000..0d76c0e
--- /dev/null
@@ -0,0 +1,12 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub fn foo() {}
+
diff --git a/src/test/compile-fail/auxiliary/allocator1.rs b/src/test/compile-fail/auxiliary/allocator1.rs
new file mode 100644 (file)
index 0000000..b247848
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![feature(allocator)]
+#![allocator]
+#![crate_type = "rlib"]
+#![no_std]
diff --git a/src/test/compile-fail/auxiliary/allocator2.rs b/src/test/compile-fail/auxiliary/allocator2.rs
new file mode 100644 (file)
index 0000000..b247848
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![feature(allocator)]
+#![allocator]
+#![crate_type = "rlib"]
+#![no_std]
diff --git a/src/test/compile-fail/auxiliary/allocator3.rs b/src/test/compile-fail/auxiliary/allocator3.rs
new file mode 100644 (file)
index 0000000..d3eb1f6
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![feature(allocator)]
+#![no_std]
+#![allocator]
+#![crate_type = "rlib"]
+
+extern crate needs_allocator;
+
diff --git a/src/test/compile-fail/auxiliary/ambig_impl_2_lib.rs b/src/test/compile-fail/auxiliary/ambig_impl_2_lib.rs
new file mode 100644 (file)
index 0000000..4ba0ccd
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait me {
+    fn me(&self) -> usize;
+}
+impl me for usize { fn me(&self) -> usize { *self } }
diff --git a/src/test/compile-fail/auxiliary/cci_class.rs b/src/test/compile-fail/auxiliary/cci_class.rs
new file mode 100644 (file)
index 0000000..08a13fd
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod kitties {
+    pub struct cat {
+      meows : usize,
+
+      pub how_hungry : isize,
+    }
+
+    pub fn cat(in_x : usize, in_y : isize) -> cat  {
+        cat {
+            meows: in_x,
+            how_hungry: in_y
+        }
+    }
+}
diff --git a/src/test/compile-fail/auxiliary/cci_class_5.rs b/src/test/compile-fail/auxiliary/cci_class_5.rs
new file mode 100644 (file)
index 0000000..7fe608f
--- /dev/null
@@ -0,0 +1,27 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod kitties {
+    pub struct cat {
+        meows : usize,
+        pub how_hungry : isize,
+    }
+
+    impl cat {
+        fn nap(&self) {}
+    }
+
+    pub fn cat(in_x : usize, in_y : isize) -> cat {
+        cat {
+            meows: in_x,
+            how_hungry: in_y
+        }
+    }
+}
diff --git a/src/test/compile-fail/auxiliary/changing-crates-a1.rs b/src/test/compile-fail/auxiliary/changing-crates-a1.rs
new file mode 100644 (file)
index 0000000..18162c5
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name = "a"]
+
+pub fn foo<T>() {}
diff --git a/src/test/compile-fail/auxiliary/changing-crates-a2.rs b/src/test/compile-fail/auxiliary/changing-crates-a2.rs
new file mode 100644 (file)
index 0000000..28eae02
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name = "a"]
+
+pub fn foo<T>() { println!("hello!"); }
diff --git a/src/test/compile-fail/auxiliary/changing-crates-b.rs b/src/test/compile-fail/auxiliary/changing-crates-b.rs
new file mode 100644 (file)
index 0000000..7b1190f
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name = "b"]
+
+extern crate a;
+
+pub fn foo() { a::foo::<isize>(); }
diff --git a/src/test/compile-fail/auxiliary/coherence_copy_like_lib.rs b/src/test/compile-fail/auxiliary/coherence_copy_like_lib.rs
new file mode 100644 (file)
index 0000000..d3d389c
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "rlib"]
+#![feature(fundamental)]
+
+pub trait MyCopy { }
+impl MyCopy for i32 { }
+
+pub struct MyStruct<T>(T);
+
+#[fundamental]
+pub struct MyFundamentalStruct<T>(T);
diff --git a/src/test/compile-fail/auxiliary/coherence_inherent_cc_lib.rs b/src/test/compile-fail/auxiliary/coherence_inherent_cc_lib.rs
new file mode 100644 (file)
index 0000000..0458636
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// See coherence_inherent_cc.rs
+
+pub trait TheTrait {
+    fn the_fn(&self);
+}
+
+pub struct TheStruct;
+
+impl TheTrait for TheStruct {
+    fn the_fn(&self) {}
+}
diff --git a/src/test/compile-fail/auxiliary/coherence_lib.rs b/src/test/compile-fail/auxiliary/coherence_lib.rs
new file mode 100644 (file)
index 0000000..daa1238
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub trait Remote {
+    fn foo(&self) { }
+}
+
+pub trait Remote1<T> {
+    fn foo(&self, t: T) { }
+}
+
+pub trait Remote2<T, U> {
+    fn foo(&self, t: T, u: U) { }
+}
+
+pub struct Pair<T,U>(T,U);
diff --git a/src/test/compile-fail/auxiliary/coherence_orphan_lib.rs b/src/test/compile-fail/auxiliary/coherence_orphan_lib.rs
new file mode 100644 (file)
index 0000000..b22d123
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait TheTrait<T> {
+    fn the_fn(&self);
+}
diff --git a/src/test/compile-fail/auxiliary/const_fn_lib.rs b/src/test/compile-fail/auxiliary/const_fn_lib.rs
new file mode 100644 (file)
index 0000000..b0d5a6b
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Crate that exports a const fn. Used for testing cross-crate.
+
+#![crate_type="rlib"]
+#![feature(const_fn)]
+
+pub const fn foo() -> usize { 22 } //~ ERROR const fn is unstable
diff --git a/src/test/compile-fail/auxiliary/crate_a1.rs b/src/test/compile-fail/auxiliary/crate_a1.rs
new file mode 100644 (file)
index 0000000..70f7cac
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Foo;
+
+pub trait Bar{}
+
+pub fn bar() -> Box<Bar> {
+    unimplemented!()
+}
+
+
+pub fn try_foo(x: Foo){}
+pub fn try_bar(x: Box<Bar>){}
diff --git a/src/test/compile-fail/auxiliary/crate_a2.rs b/src/test/compile-fail/auxiliary/crate_a2.rs
new file mode 100644 (file)
index 0000000..d801f25
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Foo;
+
+pub trait Bar{}
+
+pub fn bar() -> Box<Bar> {
+    unimplemented!()
+}
diff --git a/src/test/compile-fail/auxiliary/crateresolve1-1.rs b/src/test/compile-fail/auxiliary/crateresolve1-1.rs
new file mode 100644 (file)
index 0000000..050f2fe
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags:-C extra-filename=-1
+#![crate_name = "crateresolve1"]
+#![crate_type = "lib"]
+
+pub fn f() -> isize { 10 }
diff --git a/src/test/compile-fail/auxiliary/crateresolve1-2.rs b/src/test/compile-fail/auxiliary/crateresolve1-2.rs
new file mode 100644 (file)
index 0000000..d19b3ba
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags:-C extra-filename=-2
+#![crate_name = "crateresolve1"]
+#![crate_type = "lib"]
+
+pub fn f() -> isize { 20 }
diff --git a/src/test/compile-fail/auxiliary/crateresolve1-3.rs b/src/test/compile-fail/auxiliary/crateresolve1-3.rs
new file mode 100644 (file)
index 0000000..c5096ac
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags:-C extra-filename=-3
+#![crate_name = "crateresolve1"]
+#![crate_type = "lib"]
+
+pub fn f() -> isize { 30 }
diff --git a/src/test/compile-fail/auxiliary/default_ty_param_cross_crate_crate.rs b/src/test/compile-fail/auxiliary/default_ty_param_cross_crate_crate.rs
new file mode 100644 (file)
index 0000000..4bd8eca
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+#![crate_name = "default_param_test"]
+#![feature(default_type_parameter_fallback)]
+
+use std::marker::PhantomData;
+
+pub struct Foo<A, B>(PhantomData<(A, B)>);
+
+pub fn bleh<A=i32, X=char>() -> Foo<A, X> { Foo(PhantomData) }
+
diff --git a/src/test/compile-fail/auxiliary/deprecation-lint.rs b/src/test/compile-fail/auxiliary/deprecation-lint.rs
new file mode 100644 (file)
index 0000000..ff872ef
--- /dev/null
@@ -0,0 +1,90 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(deprecated)]
+
+#[deprecated(since = "1.0.0", note = "text")]
+pub fn deprecated() {}
+#[deprecated(since = "1.0.0", note = "text")]
+pub fn deprecated_text() {}
+
+pub struct MethodTester;
+
+impl MethodTester {
+    #[deprecated(since = "1.0.0", note = "text")]
+    pub fn method_deprecated(&self) {}
+    #[deprecated(since = "1.0.0", note = "text")]
+    pub fn method_deprecated_text(&self) {}
+}
+
+pub trait Trait {
+    #[deprecated(since = "1.0.0", note = "text")]
+    fn trait_deprecated(&self) {}
+    #[deprecated(since = "1.0.0", note = "text")]
+    fn trait_deprecated_text(&self) {}
+}
+
+#[deprecated(since = "1.0.0", note = "text")]
+pub trait DeprecatedTrait { fn dummy(&self) { } }
+
+impl Trait for MethodTester {}
+
+#[deprecated(since = "1.0.0", note = "text")]
+pub struct DeprecatedStruct {
+    pub i: isize
+}
+
+#[deprecated(since = "1.0.0", note = "text")]
+pub struct DeprecatedUnitStruct;
+
+pub enum Enum {
+    #[deprecated(since = "1.0.0", note = "text")]
+    DeprecatedVariant,
+}
+
+#[deprecated(since = "1.0.0", note = "text")]
+pub struct DeprecatedTupleStruct(pub isize);
+
+pub struct Stable {
+    #[deprecated(since = "1.0.0", note = "text")]
+    pub override2: u8,
+}
+
+pub struct Stable2(pub u8, pub u8, #[deprecated(since = "1.0.0", note = "text")] pub u8);
+
+#[deprecated(since = "1.0.0", note = "text")]
+pub struct Deprecated {
+    pub inherit: u8,
+}
+
+#[deprecated(since = "1.0.0", note = "text")]
+pub struct Deprecated2(pub u8,
+                       pub u8,
+                       pub u8);
+
+#[deprecated(since = "1.0.0", note = "text")]
+pub mod deprecated_mod {
+    pub fn deprecated() {}
+}
+
+#[macro_export]
+macro_rules! macro_test {
+    () => (deprecated());
+}
+
+#[macro_export]
+macro_rules! macro_test_arg {
+    ($func:expr) => ($func);
+}
+
+#[macro_export]
+macro_rules! macro_test_arg_nested {
+    ($func:ident) => (macro_test_arg!($func()));
+}
diff --git a/src/test/compile-fail/auxiliary/empty-struct.rs b/src/test/compile-fail/auxiliary/empty-struct.rs
new file mode 100644 (file)
index 0000000..22f65c2
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct XEmpty1 {}
+pub struct XEmpty2;
+
+pub enum XE {
+    XEmpty3 {},
+    XEmpty4,
+}
diff --git a/src/test/compile-fail/auxiliary/go_trait.rs b/src/test/compile-fail/auxiliary/go_trait.rs
new file mode 100644 (file)
index 0000000..044bb60
--- /dev/null
@@ -0,0 +1,53 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(specialization)]
+
+// Common code used for tests that model the Fn/FnMut/FnOnce hierarchy.
+
+pub trait Go {
+    fn go(&self, arg: isize);
+}
+
+pub fn go<G:Go>(this: &G, arg: isize) {
+    this.go(arg)
+}
+
+pub trait GoMut {
+    fn go_mut(&mut self, arg: isize);
+}
+
+pub fn go_mut<G:GoMut>(this: &mut G, arg: isize) {
+    this.go_mut(arg)
+}
+
+pub trait GoOnce {
+    fn go_once(self, arg: isize);
+}
+
+pub fn go_once<G:GoOnce>(this: G, arg: isize) {
+    this.go_once(arg)
+}
+
+impl<G> GoMut for G
+    where G : Go
+{
+    default fn go_mut(&mut self, arg: isize) {
+        go(&*self, arg)
+    }
+}
+
+impl<G> GoOnce for G
+    where G : GoMut
+{
+    default fn go_once(mut self, arg: isize) {
+        go_mut(&mut self, arg)
+    }
+}
diff --git a/src/test/compile-fail/auxiliary/inherited_stability.rs b/src/test/compile-fail/auxiliary/inherited_stability.rs
new file mode 100644 (file)
index 0000000..0b1aee6
--- /dev/null
@@ -0,0 +1,56 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+#![crate_name="inherited_stability"]
+#![crate_type = "lib"]
+#![unstable(feature = "test_feature", issue = "0")]
+#![feature(staged_api)]
+
+pub fn unstable() {}
+
+#[stable(feature = "rust1", since = "1.0.0")]
+pub fn stable() {}
+
+#[stable(feature = "rust1", since = "1.0.0")]
+pub mod stable_mod {
+    #[unstable(feature = "test_feature", issue = "0")]
+    pub fn unstable() {}
+
+    #[stable(feature = "rust1", since = "1.0.0")]
+    pub fn stable() {}
+}
+
+#[unstable(feature = "test_feature", issue = "0")]
+pub mod unstable_mod {
+    #[stable(feature = "test_feature", since = "1.0.0")]
+    #[rustc_deprecated(since = "1.0.0", reason = "text")]
+    pub fn deprecated() {}
+
+    pub fn unstable() {}
+}
+
+#[stable(feature = "rust1", since = "1.0.0")]
+pub trait Stable {
+    #[unstable(feature = "test_feature", issue = "0")]
+    fn unstable(&self);
+
+    #[stable(feature = "rust1", since = "1.0.0")]
+    fn stable(&self);
+}
+
+impl Stable for usize {
+    fn unstable(&self) {}
+    fn stable(&self) {}
+}
+
+pub enum Unstable {
+    UnstableVariant,
+    #[stable(feature = "rust1", since = "1.0.0")]
+    StableVariant
+}
diff --git a/src/test/compile-fail/auxiliary/internal_unstable.rs b/src/test/compile-fail/auxiliary/internal_unstable.rs
new file mode 100644 (file)
index 0000000..a4cd487
--- /dev/null
@@ -0,0 +1,102 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(staged_api, allow_internal_unstable)]
+#![stable(feature = "stable", since = "1.0.0")]
+
+#[unstable(feature = "function", issue = "0")]
+pub fn unstable() {}
+
+
+#[stable(feature = "stable", since = "1.0.0")]
+pub struct Foo {
+    #[unstable(feature = "struct_field", issue = "0")]
+    pub x: u8
+}
+
+impl Foo {
+    #[unstable(feature = "method", issue = "0")]
+    pub fn method(&self) {}
+}
+
+#[stable(feature = "stable", since = "1.0.0")]
+pub struct Bar {
+    #[unstable(feature = "struct2_field", issue = "0")]
+    pub x: u8
+}
+
+#[stable(feature = "stable", since = "1.0.0")]
+#[allow_internal_unstable]
+#[macro_export]
+macro_rules! call_unstable_allow {
+    () => { $crate::unstable() }
+}
+
+#[stable(feature = "stable", since = "1.0.0")]
+#[allow_internal_unstable]
+#[macro_export]
+macro_rules! construct_unstable_allow {
+    ($e: expr) => {
+        $crate::Foo { x: $e }
+    }
+}
+
+#[stable(feature = "stable", since = "1.0.0")]
+#[allow_internal_unstable]
+#[macro_export]
+macro_rules! call_method_allow {
+    ($e: expr) => { $e.method() }
+}
+
+#[stable(feature = "stable", since = "1.0.0")]
+#[allow_internal_unstable]
+#[macro_export]
+macro_rules! access_field_allow {
+    ($e: expr) => { $e.x }
+}
+
+#[stable(feature = "stable", since = "1.0.0")]
+#[allow_internal_unstable]
+#[macro_export]
+macro_rules! pass_through_allow {
+    ($e: expr) => { $e }
+}
+
+#[stable(feature = "stable", since = "1.0.0")]
+#[macro_export]
+macro_rules! call_unstable_noallow {
+    () => { $crate::unstable() }
+}
+
+#[stable(feature = "stable", since = "1.0.0")]
+#[macro_export]
+macro_rules! construct_unstable_noallow {
+    ($e: expr) => {
+        $crate::Foo { x: $e }
+    }
+}
+
+#[stable(feature = "stable", since = "1.0.0")]
+#[macro_export]
+macro_rules! call_method_noallow {
+    ($e: expr) => { $e.method() }
+}
+
+#[stable(feature = "stable", since = "1.0.0")]
+#[macro_export]
+macro_rules! access_field_noallow {
+    ($e: expr) => { $e.x }
+}
+
+#[stable(feature = "stable", since = "1.0.0")]
+#[macro_export]
+macro_rules! pass_through_noallow {
+    ($e: expr) => { $e }
+}
diff --git a/src/test/compile-fail/auxiliary/issue-19163.rs b/src/test/compile-fail/auxiliary/issue-19163.rs
new file mode 100644 (file)
index 0000000..76c5cda
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+#[macro_export]
+macro_rules! mywrite {
+    ($dst:expr, $($arg:tt)*) => ($dst.write_fmt(format_args!($($arg)*)))
+}
diff --git a/src/test/compile-fail/auxiliary/issue-21146-inc.rs b/src/test/compile-fail/auxiliary/issue-21146-inc.rs
new file mode 100644 (file)
index 0000000..1b740d1
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// include file for issue-21146.rs
+
+parse_error
diff --git a/src/test/compile-fail/auxiliary/issue-21221-3.rs b/src/test/compile-fail/auxiliary/issue-21221-3.rs
new file mode 100644 (file)
index 0000000..fae0fe1
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// testing whether the lookup mechanism picks up types
+// defined in the outside crate
+
+#![crate_type="lib"]
+
+pub mod outer {
+    // should suggest this
+    pub trait OuterTrait {}
+
+    // should not suggest this since the module is private
+    mod private_module {
+        pub trait OuterTrait {}
+    }
+
+    // should not suggest since the trait is private
+    pub mod public_module {
+        trait OuterTrait {}
+    }
+}
diff --git a/src/test/compile-fail/auxiliary/issue-21221-4.rs b/src/test/compile-fail/auxiliary/issue-21221-4.rs
new file mode 100644 (file)
index 0000000..fffe060
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// testing whether the lookup mechanism picks up types
+// defined in the outside crate
+
+#![crate_type="lib"]
+
+mod foo {
+    // should not be suggested => foo is private
+    pub trait T {}
+}
+
+// should be suggested
+pub use foo::T;
diff --git a/src/test/compile-fail/auxiliary/issue-29181.rs b/src/test/compile-fail/auxiliary/issue-29181.rs
new file mode 100644 (file)
index 0000000..361f1ea
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub mod foo {
+    pub use super::*;
+}
diff --git a/src/test/compile-fail/auxiliary/issue-30535.rs b/src/test/compile-fail/auxiliary/issue-30535.rs
new file mode 100644 (file)
index 0000000..8d44e8d
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub enum Foo {
+    FooV { data: () }
+}
diff --git a/src/test/compile-fail/auxiliary/issue_11680.rs b/src/test/compile-fail/auxiliary/issue_11680.rs
new file mode 100644 (file)
index 0000000..18f7875
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+enum Foo {
+    Bar(isize)
+}
+
+pub mod test {
+    enum Foo {
+        Bar(isize)
+    }
+}
diff --git a/src/test/compile-fail/auxiliary/issue_12612_1.rs b/src/test/compile-fail/auxiliary/issue_12612_1.rs
new file mode 100644 (file)
index 0000000..a0234c1
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod bar {
+    pub fn foo() {}
+}
diff --git a/src/test/compile-fail/auxiliary/issue_16725.rs b/src/test/compile-fail/auxiliary/issue_16725.rs
new file mode 100644 (file)
index 0000000..b3b04b4
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+extern {
+    fn bar();
+}
diff --git a/src/test/compile-fail/auxiliary/issue_17718_const_privacy.rs b/src/test/compile-fail/auxiliary/issue_17718_const_privacy.rs
new file mode 100644 (file)
index 0000000..3901d73
--- /dev/null
@@ -0,0 +1,18 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub use foo::FOO2;
+
+pub const FOO: usize = 3;
+const BAR: usize = 3;
+
+mod foo {
+    pub const FOO2: usize = 3;
+}
diff --git a/src/test/compile-fail/auxiliary/issue_21202.rs b/src/test/compile-fail/auxiliary/issue_21202.rs
new file mode 100644 (file)
index 0000000..afdbf78
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod A {
+    pub struct Foo;
+    impl Foo {
+        fn foo(&self) { }
+    }
+}
diff --git a/src/test/compile-fail/auxiliary/issue_30123_aux.rs b/src/test/compile-fail/auxiliary/issue_30123_aux.rs
new file mode 100644 (file)
index 0000000..f60311a
--- /dev/null
@@ -0,0 +1,33 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use std::marker::PhantomData;
+
+pub struct Directed;
+pub struct Undirected;
+
+pub struct Graph<N, E, Ty = Directed> {
+    nodes: Vec<PhantomData<N>>,
+    edges: Vec<PhantomData<E>>,
+    ty: PhantomData<Ty>,
+}
+
+
+impl<N, E> Graph<N, E, Directed> {
+    pub fn new() -> Self {
+        Graph{nodes: Vec::new(), edges: Vec::new(), ty: PhantomData}
+    }
+}
+
+impl<N, E> Graph<N, E, Undirected> {
+    pub fn new_undirected() -> Self {
+        Graph{nodes: Vec::new(), edges: Vec::new(), ty: PhantomData}
+    }
+}
diff --git a/src/test/compile-fail/auxiliary/issue_3907.rs b/src/test/compile-fail/auxiliary/issue_3907.rs
new file mode 100644 (file)
index 0000000..6472c08
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait Foo {
+    fn bar();
+}
diff --git a/src/test/compile-fail/auxiliary/issue_5844_aux.rs b/src/test/compile-fail/auxiliary/issue_5844_aux.rs
new file mode 100644 (file)
index 0000000..5c878b1
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(libc)]
+
+extern crate libc;
+
+extern "C" {
+    pub fn rand() -> libc::c_int;
+}
diff --git a/src/test/compile-fail/auxiliary/lifetime_bound_will_change_warning_lib.rs b/src/test/compile-fail/auxiliary/lifetime_bound_will_change_warning_lib.rs
new file mode 100644 (file)
index 0000000..95f8b39
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "rlib"]
+
+// Helper for testing that we get suitable warnings when lifetime
+// bound change will cause breakage.
+
+pub fn just_ref(x: &Fn()) {
+}
+
+pub fn ref_obj(x: &Box<Fn()>) {
+    // this will change to &Box<Fn()+'static>...
+}
diff --git a/src/test/compile-fail/auxiliary/lint_output_format.rs b/src/test/compile-fail/auxiliary/lint_output_format.rs
new file mode 100644 (file)
index 0000000..0553b4a
--- /dev/null
@@ -0,0 +1,30 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="lint_output_format"]
+#![crate_type = "lib"]
+#![feature(staged_api)]
+#![unstable(feature = "test_feature", issue = "0")]
+
+#[stable(feature = "test_feature", since = "1.0.0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub fn foo() -> usize {
+    20
+}
+
+#[unstable(feature = "test_feature", issue = "0")]
+pub fn bar() -> usize {
+    40
+}
+
+#[unstable(feature = "test_feature", issue = "0")]
+pub fn baz() -> usize {
+    30
+}
diff --git a/src/test/compile-fail/auxiliary/lint_stability.rs b/src/test/compile-fail/auxiliary/lint_stability.rs
new file mode 100644 (file)
index 0000000..3100aba
--- /dev/null
@@ -0,0 +1,179 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+#![crate_name="lint_stability"]
+#![crate_type = "lib"]
+#![feature(staged_api)]
+#![stable(feature = "lint_stability", since = "1.0.0")]
+
+#[stable(feature = "test_feature", since = "1.0.0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub fn deprecated() {}
+#[stable(feature = "test_feature", since = "1.0.0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub fn deprecated_text() {}
+
+#[unstable(feature = "test_feature", issue = "0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub fn deprecated_unstable() {}
+#[unstable(feature = "test_feature", issue = "0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub fn deprecated_unstable_text() {}
+
+#[unstable(feature = "test_feature", issue = "0")]
+pub fn unstable() {}
+#[unstable(feature = "test_feature", reason = "text", issue = "0")]
+pub fn unstable_text() {}
+
+#[stable(feature = "rust1", since = "1.0.0")]
+pub fn stable() {}
+#[stable(feature = "rust1", since = "1.0.0")]
+pub fn stable_text() {}
+
+#[stable(feature = "rust1", since = "1.0.0")]
+pub struct MethodTester;
+
+impl MethodTester {
+    #[stable(feature = "test_feature", since = "1.0.0")]
+    #[rustc_deprecated(since = "1.0.0", reason = "text")]
+    pub fn method_deprecated(&self) {}
+    #[stable(feature = "test_feature", since = "1.0.0")]
+    #[rustc_deprecated(since = "1.0.0", reason = "text")]
+    pub fn method_deprecated_text(&self) {}
+
+    #[unstable(feature = "test_feature", issue = "0")]
+    #[rustc_deprecated(since = "1.0.0", reason = "text")]
+    pub fn method_deprecated_unstable(&self) {}
+    #[unstable(feature = "test_feature", issue = "0")]
+    #[rustc_deprecated(since = "1.0.0", reason = "text")]
+    pub fn method_deprecated_unstable_text(&self) {}
+
+    #[unstable(feature = "test_feature", issue = "0")]
+    pub fn method_unstable(&self) {}
+    #[unstable(feature = "test_feature", reason = "text", issue = "0")]
+    pub fn method_unstable_text(&self) {}
+
+    #[stable(feature = "rust1", since = "1.0.0")]
+    pub fn method_stable(&self) {}
+    #[stable(feature = "rust1", since = "1.0.0")]
+    pub fn method_stable_text(&self) {}
+}
+
+#[stable(feature = "test_feature", since = "1.0.0")]
+pub trait Trait {
+    #[stable(feature = "test_feature", since = "1.0.0")]
+    #[rustc_deprecated(since = "1.0.0", reason = "text")]
+    fn trait_deprecated(&self) {}
+    #[stable(feature = "test_feature", since = "1.0.0")]
+    #[rustc_deprecated(since = "1.0.0", reason = "text")]
+    fn trait_deprecated_text(&self) {}
+
+    #[unstable(feature = "test_feature", issue = "0")]
+    #[rustc_deprecated(since = "1.0.0", reason = "text")]
+    fn trait_deprecated_unstable(&self) {}
+    #[unstable(feature = "test_feature", issue = "0")]
+    #[rustc_deprecated(since = "1.0.0", reason = "text")]
+    fn trait_deprecated_unstable_text(&self) {}
+
+    #[unstable(feature = "test_feature", issue = "0")]
+    fn trait_unstable(&self) {}
+    #[unstable(feature = "test_feature", reason = "text", issue = "0")]
+    fn trait_unstable_text(&self) {}
+
+    #[stable(feature = "rust1", since = "1.0.0")]
+    fn trait_stable(&self) {}
+    #[stable(feature = "rust1", since = "1.0.0")]
+    fn trait_stable_text(&self) {}
+}
+
+#[stable(feature = "test_feature", since = "1.0.0")]
+impl Trait for MethodTester {}
+
+#[unstable(feature = "test_feature", issue = "0")]
+pub trait UnstableTrait { fn dummy(&self) { } }
+
+#[stable(feature = "test_feature", since = "1.0.0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub trait DeprecatedTrait {
+    #[stable(feature = "test_feature", since = "1.0.0")] fn dummy(&self) { }
+}
+
+#[stable(feature = "test_feature", since = "1.0.0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub struct DeprecatedStruct {
+    #[stable(feature = "test_feature", since = "1.0.0")] pub i: isize
+}
+#[unstable(feature = "test_feature", issue = "0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub struct DeprecatedUnstableStruct {
+    #[stable(feature = "test_feature", since = "1.0.0")] pub i: isize
+}
+#[unstable(feature = "test_feature", issue = "0")]
+pub struct UnstableStruct {
+    #[stable(feature = "test_feature", since = "1.0.0")] pub i: isize
+}
+#[stable(feature = "rust1", since = "1.0.0")]
+pub struct StableStruct {
+    #[stable(feature = "test_feature", since = "1.0.0")] pub i: isize
+}
+
+#[stable(feature = "test_feature", since = "1.0.0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub struct DeprecatedUnitStruct;
+#[unstable(feature = "test_feature", issue = "0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub struct DeprecatedUnstableUnitStruct;
+#[unstable(feature = "test_feature", issue = "0")]
+pub struct UnstableUnitStruct;
+#[stable(feature = "rust1", since = "1.0.0")]
+pub struct StableUnitStruct;
+
+#[stable(feature = "test_feature", since = "1.0.0")]
+pub enum Enum {
+    #[stable(feature = "test_feature", since = "1.0.0")]
+    #[rustc_deprecated(since = "1.0.0", reason = "text")]
+    DeprecatedVariant,
+    #[unstable(feature = "test_feature", issue = "0")]
+    #[rustc_deprecated(since = "1.0.0", reason = "text")]
+    DeprecatedUnstableVariant,
+    #[unstable(feature = "test_feature", issue = "0")]
+    UnstableVariant,
+
+    #[stable(feature = "rust1", since = "1.0.0")]
+    StableVariant,
+}
+
+#[stable(feature = "test_feature", since = "1.0.0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub struct DeprecatedTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
+#[unstable(feature = "test_feature", issue = "0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub struct DeprecatedUnstableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
+#[unstable(feature = "test_feature", issue = "0")]
+pub struct UnstableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
+#[stable(feature = "rust1", since = "1.0.0")]
+pub struct StableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
+
+#[stable(feature = "test_feature", since = "1.0.0")]
+#[macro_export]
+macro_rules! macro_test {
+    () => (deprecated());
+}
+
+#[stable(feature = "test_feature", since = "1.0.0")]
+#[macro_export]
+macro_rules! macro_test_arg {
+    ($func:expr) => ($func);
+}
+
+#[stable(feature = "test_feature", since = "1.0.0")]
+#[macro_export]
+macro_rules! macro_test_arg_nested {
+    ($func:ident) => (macro_test_arg!($func()));
+}
diff --git a/src/test/compile-fail/auxiliary/lint_stability_fields.rs b/src/test/compile-fail/auxiliary/lint_stability_fields.rs
new file mode 100644 (file)
index 0000000..8c6b98a
--- /dev/null
@@ -0,0 +1,61 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(staged_api)]
+#![stable(feature = "rust1", since = "1.0.0")]
+
+#[stable(feature = "rust1", since = "1.0.0")]
+pub struct Stable {
+    #[stable(feature = "rust1", since = "1.0.0")]
+    pub inherit: u8, // it's a lie (stable doesn't inherit)
+    #[unstable(feature = "test_feature", issue = "0")]
+    pub override1: u8,
+    #[rustc_deprecated(since = "1.0.0", reason = "text")]
+    #[unstable(feature = "test_feature", issue = "0")]
+    pub override2: u8,
+}
+
+#[stable(feature = "rust1", since = "1.0.0")]
+pub struct Stable2(#[stable(feature = "rust1", since = "1.0.0")] pub u8,
+                   #[unstable(feature = "test_feature", issue = "0")] pub u8,
+                   #[unstable(feature = "test_feature", issue = "0")]
+                   #[rustc_deprecated(since = "1.0.0", reason = "text")] pub u8);
+
+#[unstable(feature = "test_feature", issue = "0")]
+pub struct Unstable {
+    pub inherit: u8,
+    #[stable(feature = "rust1", since = "1.0.0")]
+    pub override1: u8,
+    #[rustc_deprecated(since = "1.0.0", reason = "text")]
+    #[unstable(feature = "test_feature", issue = "0")]
+    pub override2: u8,
+}
+
+#[unstable(feature = "test_feature", issue = "0")]
+pub struct Unstable2(pub u8,
+                     #[stable(feature = "rust1", since = "1.0.0")] pub u8,
+                     #[unstable(feature = "test_feature", issue = "0")]
+                     #[rustc_deprecated(since = "1.0.0", reason = "text")] pub u8);
+
+#[unstable(feature = "test_feature", issue = "0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub struct Deprecated {
+    pub inherit: u8,
+    #[stable(feature = "rust1", since = "1.0.0")]
+    pub override1: u8,
+    #[unstable(feature = "test_feature", issue = "0")]
+    pub override2: u8,
+}
+
+#[unstable(feature = "test_feature", issue = "0")]
+#[rustc_deprecated(since = "1.0.0", reason = "text")]
+pub struct Deprecated2(pub u8,
+                       #[stable(feature = "rust1", since = "1.0.0")] pub u8,
+                       #[unstable(feature = "test_feature", issue = "0")] pub u8);
diff --git a/src/test/compile-fail/auxiliary/lint_unused_extern_crate.rs b/src/test/compile-fail/auxiliary/lint_unused_extern_crate.rs
new file mode 100644 (file)
index 0000000..2661b1f
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub fn foo() {}
diff --git a/src/test/compile-fail/auxiliary/macro_crate_nonterminal.rs b/src/test/compile-fail/auxiliary/macro_crate_nonterminal.rs
new file mode 100644 (file)
index 0000000..4f75e2b
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub fn increment(x: usize) -> usize {
+    x + 1
+}
+
+#[macro_export]
+macro_rules! increment {
+    ($x:expr) => ($crate::increment($x))
+}
+
+pub fn check_local() {
+    assert_eq!(increment!(3), 4);
+}
diff --git a/src/test/compile-fail/auxiliary/macro_non_reexport_2.rs b/src/test/compile-fail/auxiliary/macro_non_reexport_2.rs
new file mode 100644 (file)
index 0000000..910fcd2
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "dylib"]
+
+// Since we load a serialized macro with all its attributes, accidentally
+// re-exporting a `#[macro_export] macro_rules!` is something of a concern!
+//
+// We avoid it at the moment only because of the order in which we do things.
+
+#[macro_use] #[no_link]
+extern crate macro_reexport_1;
diff --git a/src/test/compile-fail/auxiliary/macro_reexport_1.rs b/src/test/compile-fail/auxiliary/macro_reexport_1.rs
new file mode 100644 (file)
index 0000000..aaeccc6
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "dylib"]
+#[macro_export]
+macro_rules! reexported {
+    () => ( 3 )
+}
diff --git a/src/test/compile-fail/auxiliary/namespaced_enums.rs b/src/test/compile-fail/auxiliary/namespaced_enums.rs
new file mode 100644 (file)
index 0000000..3bf39b7
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub enum Foo {
+    A,
+    B(isize),
+    C { a: isize },
+}
+
+impl Foo {
+    pub fn foo() {}
+    pub fn bar(&self) {}
+}
diff --git a/src/test/compile-fail/auxiliary/needs_allocator.rs b/src/test/compile-fail/auxiliary/needs_allocator.rs
new file mode 100644 (file)
index 0000000..5100316
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![feature(needs_allocator)]
+#![no_std]
+#![needs_allocator]
+#![crate_type = "rlib"]
diff --git a/src/test/compile-fail/auxiliary/no_method_suggested_traits.rs b/src/test/compile-fail/auxiliary/no_method_suggested_traits.rs
new file mode 100644 (file)
index 0000000..20cebb9
--- /dev/null
@@ -0,0 +1,46 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub use reexport::Reexported;
+
+pub struct Foo;
+pub enum Bar { X }
+
+pub mod foo {
+    pub trait PubPub {
+        fn method(&self) {}
+
+        fn method3(&self) {}
+    }
+
+    impl PubPub for u32 {}
+    impl PubPub for i32 {}
+}
+pub mod bar {
+    trait PubPriv {
+        fn method(&self);
+    }
+}
+mod qux {
+    pub trait PrivPub {
+        fn method(&self);
+    }
+}
+mod quz {
+    trait PrivPriv {
+        fn method(&self);
+    }
+}
+
+mod reexport {
+    pub trait Reexported {
+        fn method(&self);
+    }
+}
diff --git a/src/test/compile-fail/auxiliary/noexporttypelib.rs b/src/test/compile-fail/auxiliary/noexporttypelib.rs
new file mode 100644 (file)
index 0000000..5ae8e0d
--- /dev/null
@@ -0,0 +1,12 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub type oint = Option<isize>;
+pub fn foo() -> oint { Some(3) }
diff --git a/src/test/compile-fail/auxiliary/orphan_check_diagnostics.rs b/src/test/compile-fail/auxiliary/orphan_check_diagnostics.rs
new file mode 100644 (file)
index 0000000..cf3e990
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait RemoteTrait { fn dummy(&self) { } }
diff --git a/src/test/compile-fail/auxiliary/privacy_tuple_struct.rs b/src/test/compile-fail/auxiliary/privacy_tuple_struct.rs
new file mode 100644 (file)
index 0000000..141b6bd
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct A(());
+pub struct B(isize);
+pub struct C(pub isize, isize);
+pub struct D(pub isize);
diff --git a/src/test/compile-fail/auxiliary/private_trait_xc.rs b/src/test/compile-fail/auxiliary/private_trait_xc.rs
new file mode 100644 (file)
index 0000000..37ee10c
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+trait Foo {}
diff --git a/src/test/compile-fail/auxiliary/pub_static_array.rs b/src/test/compile-fail/auxiliary/pub_static_array.rs
new file mode 100644 (file)
index 0000000..4419a5a
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub static ARRAY: &'static [u8] = &[1];
diff --git a/src/test/compile-fail/auxiliary/rbmtp_cross_crate_lib.rs b/src/test/compile-fail/auxiliary/rbmtp_cross_crate_lib.rs
new file mode 100644 (file)
index 0000000..f49ac4f
--- /dev/null
@@ -0,0 +1,42 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Check that method bounds declared on traits/impls in a cross-crate
+// scenario work. This is the library portion of the test.
+
+pub enum MaybeOwned<'a> {
+    Owned(isize),
+    Borrowed(&'a isize)
+}
+
+pub struct Inv<'a> { // invariant w/r/t 'a
+    x: &'a mut &'a isize
+}
+
+// I encountered a bug at some point with encoding the IntoMaybeOwned
+// trait, so I'll use that as the template for this test.
+pub trait IntoMaybeOwned<'a> {
+    fn into_maybe_owned(self) -> MaybeOwned<'a>;
+
+    // Note: without this `into_inv` method, the trait is
+    // contravariant w/r/t `'a`, since if you look strictly at the
+    // interface, it only returns `'a`. This complicates the
+    // downstream test since it wants invariance to force an error.
+    // Hence we add this method.
+    fn into_inv(self) -> Inv<'a>;
+
+    fn bigger_region<'b:'a>(self, b: Inv<'b>);
+}
+
+impl<'a> IntoMaybeOwned<'a> for Inv<'a> {
+    fn into_maybe_owned(self) -> MaybeOwned<'a> { panic!() }
+    fn into_inv(self) -> Inv<'a> { panic!() }
+    fn bigger_region<'b:'a>(self, b: Inv<'b>) { panic!() }
+}
diff --git a/src/test/compile-fail/auxiliary/stability_attribute_issue.rs b/src/test/compile-fail/auxiliary/stability_attribute_issue.rs
new file mode 100644 (file)
index 0000000..22c13f6
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(staged_api)]
+#![stable(feature = "foo", since = "1.2.0")]
+
+
+#[unstable(feature = "foo", issue = "1")]
+pub fn unstable() {}
+
+#[unstable(feature = "foo", reason = "message", issue = "2")]
+pub fn unstable_msg() {}
diff --git a/src/test/compile-fail/auxiliary/stability_cfg1.rs b/src/test/compile-fail/auxiliary/stability_cfg1.rs
new file mode 100644 (file)
index 0000000..c839993
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![cfg_attr(foo, experimental)]
+#![cfg_attr(not(foo), stable(feature = "test_feature", since = "1.0.0"))]
+#![feature(staged_api)]
diff --git a/src/test/compile-fail/auxiliary/stability_cfg2.rs b/src/test/compile-fail/auxiliary/stability_cfg2.rs
new file mode 100644 (file)
index 0000000..c1e2b1d
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags:--cfg foo
+
+#![cfg_attr(foo, unstable(feature = "test_feature", issue = "0"))]
+#![cfg_attr(not(foo), stable(feature = "test_feature", since = "1.0.0"))]
+#![feature(staged_api)]
diff --git a/src/test/compile-fail/auxiliary/static_priv_by_default.rs b/src/test/compile-fail/auxiliary/static_priv_by_default.rs
new file mode 100644 (file)
index 0000000..859f38e
--- /dev/null
@@ -0,0 +1,61 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+static private: isize = 0;
+pub static public: isize = 0;
+
+pub struct A(());
+
+impl A {
+    fn foo() {}
+}
+
+mod foo {
+    pub static a: isize = 0;
+    pub fn b() {}
+    pub struct c;
+    pub enum d {}
+    pub type e = isize;
+
+    pub struct A(());
+
+    impl A {
+        fn foo() {}
+    }
+
+    // these are public so the parent can reexport them.
+    pub static reexported_a: isize = 0;
+    pub fn reexported_b() {}
+    pub struct reexported_c;
+    pub enum reexported_d {}
+    pub type reexported_e = isize;
+}
+
+pub mod bar {
+    pub use foo::reexported_a as e;
+    pub use foo::reexported_b as f;
+    pub use foo::reexported_c as g;
+    pub use foo::reexported_d as h;
+    pub use foo::reexported_e as i;
+}
+
+pub static a: isize = 0;
+pub fn b() {}
+pub struct c;
+pub enum d {}
+pub type e = isize;
+
+static j: isize = 0;
+fn k() {}
+struct l;
+enum m {}
+type n = isize;
diff --git a/src/test/compile-fail/auxiliary/struct_field_privacy.rs b/src/test/compile-fail/auxiliary/struct_field_privacy.rs
new file mode 100644 (file)
index 0000000..5fea97d
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct A {
+    a: isize,
+    pub b: isize,
+}
+
+pub struct B {
+    pub a: isize,
+    b: isize,
+}
diff --git a/src/test/compile-fail/auxiliary/struct_variant_privacy.rs b/src/test/compile-fail/auxiliary/struct_variant_privacy.rs
new file mode 100644 (file)
index 0000000..40868fa
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+enum Bar {
+    Baz { a: isize }
+}
diff --git a/src/test/compile-fail/auxiliary/svh-a-base.rs b/src/test/compile-fail/auxiliary/svh-a-base.rs
new file mode 100644 (file)
index 0000000..31a97f6
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : isize = 2;
+
+pub fn foo<T:U>(_: isize) -> isize {
+    3
+}
+
+pub fn an_unused_name() -> isize {
+    4
+}
diff --git a/src/test/compile-fail/auxiliary/svh-a-change-lit.rs b/src/test/compile-fail/auxiliary/svh-a-change-lit.rs
new file mode 100644 (file)
index 0000000..5339fc8
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : isize = 2;
+
+pub fn foo<T:U>(_: isize) -> isize {
+    0
+}
+
+pub fn an_unused_name() -> isize {
+    4
+}
diff --git a/src/test/compile-fail/auxiliary/svh-a-change-significant-cfg.rs b/src/test/compile-fail/auxiliary/svh-a-change-significant-cfg.rs
new file mode 100644 (file)
index 0000000..2a5d944
--- /dev/null
@@ -0,0 +1,37 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : isize = 2;
+
+#[cfg(some_flag)]
+pub fn foo<T:U>(_: isize) -> isize {
+    3
+}
+
+#[cfg(not(some_flag))]
+pub fn an_unused_name() -> isize {
+    4
+}
diff --git a/src/test/compile-fail/auxiliary/svh-a-change-trait-bound.rs b/src/test/compile-fail/auxiliary/svh-a-change-trait-bound.rs
new file mode 100644 (file)
index 0000000..61f2f28
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : isize = 2;
+
+pub fn foo<T:V>(_: isize) -> isize {
+    3
+}
+
+pub fn an_unused_name() -> isize {
+    4
+}
diff --git a/src/test/compile-fail/auxiliary/svh-a-change-type-arg.rs b/src/test/compile-fail/auxiliary/svh-a-change-type-arg.rs
new file mode 100644 (file)
index 0000000..270ce95
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : isize = 2;
+
+pub fn foo<T:U>(_: i32) -> isize {
+    3
+}
+
+pub fn an_unused_name() -> isize {
+    4
+}
diff --git a/src/test/compile-fail/auxiliary/svh-a-change-type-ret.rs b/src/test/compile-fail/auxiliary/svh-a-change-type-ret.rs
new file mode 100644 (file)
index 0000000..de4cc85
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : isize = 2;
+
+pub fn foo<T:U>(_: isize) -> i64 {
+    3
+}
+
+pub fn an_unused_name() -> i32 {
+    4
+}
diff --git a/src/test/compile-fail/auxiliary/svh-a-change-type-static.rs b/src/test/compile-fail/auxiliary/svh-a-change-type-static.rs
new file mode 100644 (file)
index 0000000..62f7986
--- /dev/null
@@ -0,0 +1,36 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+#![feature(core)]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : i32 = 2;
+
+pub fn foo<T:U>(_: isize) -> isize {
+    3
+}
+
+pub fn an_unused_name() -> isize {
+    4
+}
diff --git a/src/test/compile-fail/auxiliary/svh-b.rs b/src/test/compile-fail/auxiliary/svh-b.rs
new file mode 100644 (file)
index 0000000..b8946fd
--- /dev/null
@@ -0,0 +1,23 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! This is a client of the `a` crate defined in "svn-a-base.rs".  The
+//! rpass and cfail tests (such as "run-pass/svh-add-comment.rs") use
+//! it by swapping in a different object code library crate built from
+//! some variant of "svn-a-base.rs", and then we are checking if the
+//! compiler properly ignores or accepts the change, based on whether
+//! the change could affect the downstream crate content or not
+//! (#14132).
+
+#![crate_name = "b"]
+
+extern crate a;
+
+pub fn foo() { assert_eq!(a::foo::<()>(0), 3); }
diff --git a/src/test/compile-fail/auxiliary/svh-uta-base.rs b/src/test/compile-fail/auxiliary/svh-uta-base.rs
new file mode 100644 (file)
index 0000000..6bd3dda
--- /dev/null
@@ -0,0 +1,32 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! "compile-fail/svh-uta-trait.rs" is checking that we detect a
+//! change from `use foo::TraitB` to use `foo::TraitB` in the hash
+//! (SVH) computation (#14132), since that will affect method
+//! resolution.
+//!
+//! This is the upstream crate.
+
+#![crate_name = "uta"]
+
+mod traits {
+    pub trait TraitA { fn val(&self) -> isize { 2 } }
+    pub trait TraitB { fn val(&self) -> isize { 3 } }
+}
+
+impl traits::TraitA for () {}
+impl traits::TraitB for () {}
+
+pub fn foo<T>(_: isize) -> isize {
+    use traits::TraitA;
+    let v = ();
+    v.val()
+}
diff --git a/src/test/compile-fail/auxiliary/svh-uta-change-use-trait.rs b/src/test/compile-fail/auxiliary/svh-uta-change-use-trait.rs
new file mode 100644 (file)
index 0000000..e863416
--- /dev/null
@@ -0,0 +1,32 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! "compile-fail/svh-uta-trait.rs" is checking that we detect a
+//! change from `use foo::TraitB` to use `foo::TraitB` in the hash
+//! (SVH) computation (#14132), since that will affect method
+//! resolution.
+//!
+//! This is the upstream crate.
+
+#![crate_name = "uta"]
+
+mod traits {
+    pub trait TraitA { fn val(&self) -> isize { 2 } }
+    pub trait TraitB { fn val(&self) -> isize { 3 } }
+}
+
+impl traits::TraitA for () {}
+impl traits::TraitB for () {}
+
+pub fn foo<T>(_: isize) -> isize {
+    use traits::TraitB;
+    let v = ();
+    v.val()
+}
diff --git a/src/test/compile-fail/auxiliary/svh-utb.rs b/src/test/compile-fail/auxiliary/svh-utb.rs
new file mode 100644 (file)
index 0000000..eb3da98
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! "compile-fail/svh-uta-trait.rs" is checking that we detect a
+//! change from `use foo::TraitB` to use `foo::TraitB` in the hash
+//! (SVH) computation (#14132), since that will affect method
+//! resolution.
+//!
+//! This is the downstream crate.
+
+#![crate_name = "utb"]
+
+extern crate uta;
+
+pub fn foo() { assert_eq!(uta::foo::<()>(0), 3); }
diff --git a/src/test/compile-fail/auxiliary/tdticc_coherence_lib.rs b/src/test/compile-fail/auxiliary/tdticc_coherence_lib.rs
new file mode 100644 (file)
index 0000000..2e425ac
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(optin_builtin_traits, core)]
+#![crate_type = "rlib"]
+
+pub trait DefaultedTrait { }
+impl DefaultedTrait for .. { }
+
+pub struct Something<T> { t: T }
diff --git a/src/test/compile-fail/auxiliary/trait_bounds_on_structs_and_enums_xc.rs b/src/test/compile-fail/auxiliary/trait_bounds_on_structs_and_enums_xc.rs
new file mode 100644 (file)
index 0000000..29cb0bc
--- /dev/null
@@ -0,0 +1,23 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait Trait {
+    fn dummy(&self) { }
+}
+
+pub struct Foo<T:Trait> {
+    pub x: T,
+}
+
+pub enum Bar<T:Trait> {
+    ABar(isize),
+    BBar(T),
+    CBar(usize),
+}
diff --git a/src/test/compile-fail/auxiliary/trait_impl_conflict.rs b/src/test/compile-fail/auxiliary/trait_impl_conflict.rs
new file mode 100644 (file)
index 0000000..c3ecbb0
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait Foo {
+}
+
+impl Foo for isize {
+}
diff --git a/src/test/compile-fail/auxiliary/trait_safety_lib.rs b/src/test/compile-fail/auxiliary/trait_safety_lib.rs
new file mode 100644 (file)
index 0000000..585a756
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Simple smoke test that unsafe traits can be compiled etc.
+
+pub unsafe trait Foo {
+    fn foo(&self) -> isize;
+}
+
+unsafe impl Foo for isize {
+    fn foo(&self) -> isize { *self }
+}
diff --git a/src/test/compile-fail/auxiliary/trait_superkinds_in_metadata.rs b/src/test/compile-fail/auxiliary/trait_superkinds_in_metadata.rs
new file mode 100644 (file)
index 0000000..0fa2d34
--- /dev/null
@@ -0,0 +1,18 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Test library crate for cross-crate usages of traits inheriting
+// from the builtin kinds. Mostly tests metadata correctness.
+
+#![crate_type="lib"]
+
+pub trait RequiresShare : Sync { }
+pub trait RequiresRequiresShareAndSend : RequiresShare + Send { }
+pub trait RequiresCopy : Copy { }
diff --git a/src/test/compile-fail/auxiliary/two_macros.rs b/src/test/compile-fail/auxiliary/two_macros.rs
new file mode 100644 (file)
index 0000000..060960f
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#[macro_export]
+macro_rules! macro_one { () => ("one") }
+
+#[macro_export]
+macro_rules! macro_two { () => ("two") }
diff --git a/src/test/compile-fail/auxiliary/unreachable_variant.rs b/src/test/compile-fail/auxiliary/unreachable_variant.rs
new file mode 100644 (file)
index 0000000..8ca85f2
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+mod super_sekrit {
+    pub enum sooper_sekrit {
+        quux, baz
+    }
+}
diff --git a/src/test/compile-fail/auxiliary/use_from_trait_xc.rs b/src/test/compile-fail/auxiliary/use_from_trait_xc.rs
new file mode 100644 (file)
index 0000000..7024c9d
--- /dev/null
@@ -0,0 +1,41 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(associated_consts)]
+
+pub use self::sub::{Bar, Baz};
+
+pub trait Trait {
+    fn foo(&self);
+    type Assoc;
+    const CONST: u32;
+}
+
+struct Foo;
+
+impl Foo {
+    pub fn new() {}
+
+    pub const C: u32 = 0;
+}
+
+mod sub {
+    pub struct Bar;
+
+    impl Bar {
+        pub fn new() {}
+    }
+
+    pub enum Baz {}
+
+    impl Baz {
+        pub fn new() {}
+    }
+}
diff --git a/src/test/compile-fail/auxiliary/variant-namespacing.rs b/src/test/compile-fail/auxiliary/variant-namespacing.rs
new file mode 100644 (file)
index 0000000..d7fd296
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub enum XE {
+    XStruct { a: u8 },
+    XTuple(u8),
+    XUnit,
+}
diff --git a/src/test/compile-fail/auxiliary/weak-lang-items.rs b/src/test/compile-fail/auxiliary/weak-lang-items.rs
new file mode 100644 (file)
index 0000000..6434e62
--- /dev/null
@@ -0,0 +1,32 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+// This aux-file will require the eh_personality function to be codegen'd, but
+// it hasn't been defined just yet. Make sure we don't explode.
+
+#![no_std]
+#![crate_type = "rlib"]
+
+struct A;
+
+impl core::ops::Drop for A {
+    fn drop(&mut self) {}
+}
+
+pub fn foo() {
+    let _a = A;
+    panic!("wut");
+}
+
+mod std {
+    pub use core::{option, fmt};
+}
diff --git a/src/test/compile-fail/auxiliary/xc_private_method_lib.rs b/src/test/compile-fail/auxiliary/xc_private_method_lib.rs
new file mode 100644 (file)
index 0000000..5e7bc61
--- /dev/null
@@ -0,0 +1,43 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub struct Struct {
+    pub x: isize
+}
+
+impl Struct {
+    fn static_meth_struct() -> Struct {
+        Struct { x: 1 }
+    }
+
+    fn meth_struct(&self) -> isize {
+        self.x
+    }
+}
+
+pub enum Enum {
+    Variant1(isize),
+    Variant2(isize)
+}
+
+impl Enum {
+    fn static_meth_enum() -> Enum {
+        Enum::Variant2(10)
+    }
+
+    fn meth_enum(&self) -> isize {
+        match *self {
+            Enum::Variant1(x) |
+            Enum::Variant2(x) => x
+        }
+    }
+}
diff --git a/src/test/compile-fail/auxiliary/xcrate_unit_struct.rs b/src/test/compile-fail/auxiliary/xcrate_unit_struct.rs
new file mode 100644 (file)
index 0000000..7a69be2
--- /dev/null
@@ -0,0 +1,38 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+// used by the rpass test
+
+#[derive(Copy, Clone)]
+pub struct Struct;
+
+#[derive(Copy, Clone)]
+pub enum Unit {
+    UnitVariant,
+    Argument(Struct)
+}
+
+#[derive(Copy, Clone)]
+pub struct TupleStruct(pub usize, pub &'static str);
+
+// used by the cfail test
+
+#[derive(Copy, Clone)]
+pub struct StructWithFields {
+    foo: isize,
+}
+
+#[derive(Copy, Clone)]
+pub enum EnumWithVariants {
+    EnumVariant,
+    EnumVariantArg(isize)
+}
index 7ea6f6f18b92b577d064b8df64ffb7212df92858..02f128e1f56448bd402edb79d6e4daa16c0bbf3f 100644 (file)
@@ -9,5 +9,5 @@
 // except according to those terms.
 
 // error-pattern: expected item, found `parse_error`
-include!("aux/issue-21146-inc.rs");
+include!("auxiliary/issue-21146-inc.rs");
 fn main() {}
diff --git a/src/test/compile-fail/privacy/restricted/aux/pub_restricted.rs b/src/test/compile-fail/privacy/restricted/aux/pub_restricted.rs
deleted file mode 100644 (file)
index b1c88ce..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(pub_restricted)]
-
-pub(crate) struct Crate;
-#[derive(Default)]
-pub struct Universe {
-    pub x: i32,
-    pub(crate) y: i32
-}
-
-impl Universe {
-    pub fn f(&self) {}
-    pub(crate) fn g(&self) {}
-}
diff --git a/src/test/compile-fail/privacy/restricted/auxiliary/pub_restricted.rs b/src/test/compile-fail/privacy/restricted/auxiliary/pub_restricted.rs
new file mode 100644 (file)
index 0000000..b1c88ce
--- /dev/null
@@ -0,0 +1,23 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(pub_restricted)]
+
+pub(crate) struct Crate;
+#[derive(Default)]
+pub struct Universe {
+    pub x: i32,
+    pub(crate) y: i32
+}
+
+impl Universe {
+    pub fn f(&self) {}
+    pub(crate) fn g(&self) {}
+}
diff --git a/src/test/debuginfo/aux/cross_crate_debuginfo_type_uniquing.rs b/src/test/debuginfo/aux/cross_crate_debuginfo_type_uniquing.rs
deleted file mode 100644 (file)
index f4bc723..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-#![crate_type = "rlib"]
-// compile-flags:-g
-
-struct S1;
-
-impl S1 {
-    fn f(&mut self) { }
-}
-
-
-struct S2;
-
-impl S2 {
-    fn f(&mut self) { }
-}
diff --git a/src/test/debuginfo/aux/cross_crate_spans.rs b/src/test/debuginfo/aux/cross_crate_spans.rs
deleted file mode 100644 (file)
index 9b6b622..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2013-2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "rlib"]
-
-#![allow(unused_variables)]
-#![feature(omit_gdb_pretty_printer_section)]
-#![omit_gdb_pretty_printer_section]
-
-// no-prefer-dynamic
-// compile-flags:-g
-
-pub fn generic_function<T: Clone>(val: T) -> (T, T) {
-    let result = (val.clone(), val.clone());
-    let a_variable: u32 = 123456789;
-    let another_variable: f64 = 123456789.5;
-    zzz();
-    result
-}
-
-#[inline(never)]
-fn zzz() {()}
diff --git a/src/test/debuginfo/aux/issue13213aux.rs b/src/test/debuginfo/aux/issue13213aux.rs
deleted file mode 100644 (file)
index d0566a1..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-// compile-flags:-g
-
-pub use private::P;
-
-#[derive(Copy, Clone)]
-pub struct S {
-    p: P,
-}
-
-mod private {
-    #[derive(Copy, Clone)]
-    pub struct P {
-        p: i32,
-    }
-    pub const THREE: P = P { p: 3 };
-}
-
-pub static A: S = S { p: private::THREE };
diff --git a/src/test/debuginfo/auxiliary/cross_crate_debuginfo_type_uniquing.rs b/src/test/debuginfo/auxiliary/cross_crate_debuginfo_type_uniquing.rs
new file mode 100644 (file)
index 0000000..f4bc723
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+#![crate_type = "rlib"]
+// compile-flags:-g
+
+struct S1;
+
+impl S1 {
+    fn f(&mut self) { }
+}
+
+
+struct S2;
+
+impl S2 {
+    fn f(&mut self) { }
+}
diff --git a/src/test/debuginfo/auxiliary/cross_crate_spans.rs b/src/test/debuginfo/auxiliary/cross_crate_spans.rs
new file mode 100644 (file)
index 0000000..9b6b622
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright 2013-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "rlib"]
+
+#![allow(unused_variables)]
+#![feature(omit_gdb_pretty_printer_section)]
+#![omit_gdb_pretty_printer_section]
+
+// no-prefer-dynamic
+// compile-flags:-g
+
+pub fn generic_function<T: Clone>(val: T) -> (T, T) {
+    let result = (val.clone(), val.clone());
+    let a_variable: u32 = 123456789;
+    let another_variable: f64 = 123456789.5;
+    zzz();
+    result
+}
+
+#[inline(never)]
+fn zzz() {()}
diff --git a/src/test/debuginfo/auxiliary/issue13213aux.rs b/src/test/debuginfo/auxiliary/issue13213aux.rs
new file mode 100644 (file)
index 0000000..d0566a1
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+// compile-flags:-g
+
+pub use private::P;
+
+#[derive(Copy, Clone)]
+pub struct S {
+    p: P,
+}
+
+mod private {
+    #[derive(Copy, Clone)]
+    pub struct P {
+        p: i32,
+    }
+    pub const THREE: P = P { p: 3 };
+}
+
+pub static A: S = S { p: private::THREE };
diff --git a/src/test/run-pass-fulldeps/aux/custom_derive_plugin.rs b/src/test/run-pass-fulldeps/aux/custom_derive_plugin.rs
deleted file mode 100644 (file)
index 5f0ef4d..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar)]
-#![feature(box_syntax)]
-#![feature(rustc_private)]
-
-extern crate syntax;
-extern crate syntax_ext;
-extern crate rustc;
-extern crate rustc_plugin;
-
-use syntax::ast;
-use syntax::codemap::Span;
-use syntax::ext::base::{MultiDecorator, ExtCtxt, Annotatable};
-use syntax::ext::build::AstBuilder;
-use syntax::parse::token;
-use syntax::ptr::P;
-use syntax_ext::deriving::generic::{cs_fold, TraitDef, MethodDef, combine_substructure};
-use syntax_ext::deriving::generic::ty::{Literal, LifetimeBounds, Path, borrowed_explicit_self};
-use rustc_plugin::Registry;
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_syntax_extension(
-        token::intern("derive_TotalSum"),
-        MultiDecorator(box expand));
-}
-
-fn expand(cx: &mut ExtCtxt,
-          span: Span,
-          mitem: &ast::MetaItem,
-          item: &Annotatable,
-          push: &mut FnMut(Annotatable)) {
-    let trait_def = TraitDef {
-        span: span,
-        attributes: vec![],
-        path: Path::new(vec!["TotalSum"]),
-        additional_bounds: vec![],
-        generics: LifetimeBounds::empty(),
-        associated_types: vec![],
-        is_unsafe: false,
-        methods: vec![
-            MethodDef {
-                name: "total_sum",
-                generics: LifetimeBounds::empty(),
-                explicit_self: borrowed_explicit_self(),
-                args: vec![],
-                ret_ty: Literal(Path::new_local("isize")),
-                attributes: vec![],
-                is_unsafe: false,
-                combine_substructure: combine_substructure(box |cx, span, substr| {
-                    let zero = cx.expr_isize(span, 0);
-                    cs_fold(false,
-                            |cx, span, subexpr, field, _| {
-                                cx.expr_binary(span, ast::BinOpKind::Add, subexpr,
-                                    cx.expr_method_call(span, field,
-                                        token::str_to_ident("total_sum"), vec![]))
-                            },
-                            zero,
-                            box |cx, span, _, _| { cx.span_bug(span, "wtf??"); },
-                            cx, span, substr)
-                }),
-            },
-        ],
-    };
-
-    trait_def.expand(cx, mitem, item, push)
-}
diff --git a/src/test/run-pass-fulldeps/aux/custom_derive_plugin_attr.rs b/src/test/run-pass-fulldeps/aux/custom_derive_plugin_attr.rs
deleted file mode 100644 (file)
index 2878674..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar)]
-#![feature(box_syntax)]
-#![feature(rustc_private)]
-
-extern crate syntax;
-extern crate syntax_ext;
-extern crate rustc;
-extern crate rustc_plugin;
-
-use syntax::ast;
-use syntax::attr::AttrMetaMethods;
-use syntax::codemap::Span;
-use syntax::ext::base::{MultiDecorator, ExtCtxt, Annotatable};
-use syntax::ext::build::AstBuilder;
-use syntax::parse::token;
-use syntax::ptr::P;
-use syntax_ext::deriving::generic::{cs_fold, TraitDef, MethodDef, combine_substructure};
-use syntax_ext::deriving::generic::{Substructure, Struct, EnumMatching};
-use syntax_ext::deriving::generic::ty::{Literal, LifetimeBounds, Path, borrowed_explicit_self};
-use rustc_plugin::Registry;
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_syntax_extension(
-        token::intern("derive_TotalSum"),
-        MultiDecorator(box expand));
-}
-
-fn expand(cx: &mut ExtCtxt,
-          span: Span,
-          mitem: &ast::MetaItem,
-          item: &Annotatable,
-          push: &mut FnMut(Annotatable)) {
-    let trait_def = TraitDef {
-        span: span,
-        attributes: vec![],
-        path: Path::new(vec!["TotalSum"]),
-        additional_bounds: vec![],
-        generics: LifetimeBounds::empty(),
-        associated_types: vec![],
-        is_unsafe: false,
-        methods: vec![
-            MethodDef {
-                name: "total_sum",
-                generics: LifetimeBounds::empty(),
-                explicit_self: borrowed_explicit_self(),
-                args: vec![],
-                ret_ty: Literal(Path::new_local("isize")),
-                attributes: vec![],
-                is_unsafe: false,
-                combine_substructure: combine_substructure(Box::new(totalsum_substructure)),
-            },
-        ],
-    };
-
-    trait_def.expand(cx, mitem, item, push)
-}
-
-// Mostly copied from syntax::ext::deriving::hash
-/// Defines how the implementation for `trace()` is to be generated
-fn totalsum_substructure(cx: &mut ExtCtxt, trait_span: Span,
-                         substr: &Substructure) -> P<ast::Expr> {
-    let fields = match *substr.fields {
-        Struct(_, ref fs) | EnumMatching(_, _, ref fs) => fs,
-        _ => cx.span_bug(trait_span, "impossible substructure")
-    };
-
-    fields.iter().fold(cx.expr_isize(trait_span, 0), |acc, ref item| {
-        if item.attrs.iter().find(|a| a.check_name("ignore")).is_some() {
-            acc
-        } else {
-            cx.expr_binary(item.span, ast::BinOpKind::Add, acc,
-                           cx.expr_method_call(item.span,
-                                               item.self_.clone(),
-                                               substr.method_ident,
-                                               Vec::new()))
-        }
-    })
-}
diff --git a/src/test/run-pass-fulldeps/aux/dummy_mir_pass.rs b/src/test/run-pass-fulldeps/aux/dummy_mir_pass.rs
deleted file mode 100644 (file)
index b5234af..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar, rustc_private)]
-#![feature(box_syntax)]
-
-#[macro_use] extern crate rustc;
-extern crate rustc_plugin;
-extern crate rustc_const_math;
-extern crate syntax;
-
-use rustc::mir::transform::{self, MirPass};
-use rustc::mir::repr::{Mir, Literal};
-use rustc::mir::visit::MutVisitor;
-use rustc::ty;
-use rustc::middle::const_val::ConstVal;
-use rustc_const_math::ConstInt;
-use rustc_plugin::Registry;
-
-use syntax::ast::NodeId;
-
-struct Pass;
-
-impl transform::Pass for Pass {}
-impl<'tcx> MirPass<'tcx> for Pass {
-    fn run_pass(&mut self, _: &ty::TyCtxt<'tcx>, _: NodeId, mir: &mut Mir<'tcx>) {
-        Visitor.visit_mir(mir)
-    }
-}
-
-struct Visitor;
-
-impl<'tcx> MutVisitor<'tcx> for Visitor {
-    fn visit_literal(&mut self, literal: &mut Literal<'tcx>) {
-        if let Literal::Value { ref mut value } = *literal {
-            if let ConstVal::Integral(ConstInt::I32(ref mut i @ 11)) = *value {
-                *i = 42;
-            }
-        }
-    }
-}
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_mir_pass(box Pass);
-}
diff --git a/src/test/run-pass-fulldeps/aux/issue-13560-1.rs b/src/test/run-pass-fulldeps/aux/issue-13560-1.rs
deleted file mode 100644 (file)
index 858d726..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![crate_type = "dylib"]
diff --git a/src/test/run-pass-fulldeps/aux/issue-13560-2.rs b/src/test/run-pass-fulldeps/aux/issue-13560-2.rs
deleted file mode 100644 (file)
index 8e46acc..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![crate_type = "rlib"]
diff --git a/src/test/run-pass-fulldeps/aux/issue-13560-3.rs b/src/test/run-pass-fulldeps/aux/issue-13560-3.rs
deleted file mode 100644 (file)
index c0539aa..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![crate_type = "rlib"]
-
-#[macro_use] #[no_link] extern crate issue_13560_1 as t1;
-#[macro_use] extern crate issue_13560_2 as t2;
diff --git a/src/test/run-pass-fulldeps/aux/issue-16822.rs b/src/test/run-pass-fulldeps/aux/issue-16822.rs
deleted file mode 100644 (file)
index 0e3041c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-use std::cell::RefCell;
-
-pub struct Window<Data>{
-    pub data: RefCell<Data>
-}
-
-impl<Data:  Update> Window<Data> {
-    pub fn update(&self, e: i32) {
-        match e {
-            1 => self.data.borrow_mut().update(),
-            _ => {}
-        }
-    }
-}
-
-pub trait Update {
-    fn update(&mut self);
-}
diff --git a/src/test/run-pass-fulldeps/aux/issue-18502.rs b/src/test/run-pass-fulldeps/aux/issue-18502.rs
deleted file mode 100644 (file)
index 718b046..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-struct Foo;
-// This is the ICE trigger
-struct Formatter;
-
-trait Show {
-    fn fmt(&self);
-}
-
-impl Show for Foo {
-    fn fmt(&self) {}
-}
-
-fn bar<T>(f: extern "Rust" fn(&T), t: &T) { }
-
-// ICE requirement: this has to be marked as inline
-#[inline]
-pub fn baz() {
-    bar(Show::fmt, &Foo);
-}
diff --git a/src/test/run-pass-fulldeps/aux/issue_16723_multiple_items_syntax_ext.rs b/src/test/run-pass-fulldeps/aux/issue_16723_multiple_items_syntax_ext.rs
deleted file mode 100644 (file)
index 25a75c2..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar, quote, rustc_private)]
-#![crate_type = "dylib"]
-
-extern crate syntax;
-extern crate rustc;
-extern crate rustc_plugin;
-
-use syntax::ast;
-use syntax::codemap;
-use syntax::ext::base::{ExtCtxt, MacResult, MacEager};
-use syntax::util::small_vector::SmallVector;
-use rustc_plugin::Registry;
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_macro("multiple_items", expand)
-}
-
-fn expand(cx: &mut ExtCtxt, _: codemap::Span, _: &[ast::TokenTree]) -> Box<MacResult+'static> {
-    MacEager::items(SmallVector::many(vec![
-        quote_item!(cx, struct Struct1;).unwrap(),
-        quote_item!(cx, struct Struct2;).unwrap()
-    ]))
-}
diff --git a/src/test/run-pass-fulldeps/aux/linkage-visibility.rs b/src/test/run-pass-fulldeps/aux/linkage-visibility.rs
deleted file mode 100644 (file)
index 09a2e8e..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(rustc_private)]
-
-// We're testing linkage visibility; the compiler warns us, but we want to
-// do the runtime check that these functions aren't exported.
-#![allow(private_no_mangle_fns)]
-
-extern crate rustc_back;
-
-use rustc_back::dynamic_lib::DynamicLibrary;
-
-#[no_mangle]
-pub fn foo() { bar(); }
-
-pub fn foo2<T>() {
-    fn bar2() {
-        bar();
-    }
-    bar2();
-}
-
-#[no_mangle]
-fn bar() { }
-
-#[allow(dead_code)]
-#[no_mangle]
-fn baz() { }
-
-pub fn test() {
-    let lib = DynamicLibrary::open(None).unwrap();
-    unsafe {
-        assert!(lib.symbol::<isize>("foo").is_ok());
-        assert!(lib.symbol::<isize>("baz").is_err());
-        assert!(lib.symbol::<isize>("bar").is_err());
-    }
-}
diff --git a/src/test/run-pass-fulldeps/aux/lint_for_crate.rs b/src/test/run-pass-fulldeps/aux/lint_for_crate.rs
deleted file mode 100644 (file)
index a424517..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar, rustc_private)]
-#![feature(box_syntax)]
-
-#[macro_use] extern crate rustc;
-extern crate rustc_plugin;
-extern crate syntax;
-
-use rustc::lint::{LateContext, LintContext, LintPass, LateLintPass, LateLintPassObject, LintArray};
-use rustc_plugin::Registry;
-use rustc::hir;
-use syntax::attr;
-
-declare_lint!(CRATE_NOT_OKAY, Warn, "crate not marked with #![crate_okay]");
-
-struct Pass;
-
-impl LintPass for Pass {
-    fn get_lints(&self) -> LintArray {
-        lint_array!(CRATE_NOT_OKAY)
-    }
-}
-
-impl LateLintPass for Pass {
-    fn check_crate(&mut self, cx: &LateContext, krate: &hir::Crate) {
-        if !attr::contains_name(&krate.attrs, "crate_okay") {
-            cx.span_lint(CRATE_NOT_OKAY, krate.span,
-                         "crate is not marked with #![crate_okay]");
-        }
-    }
-}
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_late_lint_pass(box Pass as LateLintPassObject);
-}
diff --git a/src/test/run-pass-fulldeps/aux/lint_group_plugin_test.rs b/src/test/run-pass-fulldeps/aux/lint_group_plugin_test.rs
deleted file mode 100644 (file)
index 1e9a777..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar)]
-#![feature(box_syntax, rustc_private)]
-
-// Load rustc as a plugin to get macros
-#[macro_use]
-extern crate rustc;
-extern crate rustc_plugin;
-
-use rustc::hir;
-use rustc::lint::{LateContext, LintContext, LintPass, LateLintPass, LateLintPassObject, LintArray};
-use rustc_plugin::Registry;
-
-declare_lint!(TEST_LINT, Warn, "Warn about items named 'lintme'");
-
-declare_lint!(PLEASE_LINT, Warn, "Warn about items named 'pleaselintme'");
-
-struct Pass;
-
-impl LintPass for Pass {
-    fn get_lints(&self) -> LintArray {
-        lint_array!(TEST_LINT, PLEASE_LINT)
-    }
-}
-
-impl LateLintPass for Pass {
-    fn check_item(&mut self, cx: &LateContext, it: &hir::Item) {
-        match &*it.name.as_str() {
-            "lintme" => cx.span_lint(TEST_LINT, it.span, "item is named 'lintme'"),
-            "pleaselintme" => cx.span_lint(PLEASE_LINT, it.span, "item is named 'pleaselintme'"),
-            _ => {}
-        }
-    }
-}
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_late_lint_pass(box Pass as LateLintPassObject);
-    reg.register_lint_group("lint_me", vec![TEST_LINT, PLEASE_LINT]);
-}
diff --git a/src/test/run-pass-fulldeps/aux/lint_plugin_test.rs b/src/test/run-pass-fulldeps/aux/lint_plugin_test.rs
deleted file mode 100644 (file)
index 8ea131d..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar)]
-#![feature(box_syntax, rustc_private)]
-
-extern crate syntax;
-
-// Load rustc as a plugin to get macros
-#[macro_use]
-extern crate rustc;
-extern crate rustc_plugin;
-
-use rustc::lint::{EarlyContext, LintContext, LintPass, EarlyLintPass,
-                  EarlyLintPassObject, LintArray};
-use rustc_plugin::Registry;
-use syntax::ast;
-declare_lint!(TEST_LINT, Warn, "Warn about items named 'lintme'");
-
-struct Pass;
-
-impl LintPass for Pass {
-    fn get_lints(&self) -> LintArray {
-        lint_array!(TEST_LINT)
-    }
-}
-
-impl EarlyLintPass for Pass {
-    fn check_item(&mut self, cx: &EarlyContext, it: &ast::Item) {
-        if it.ident.name.as_str() == "lintme" {
-            cx.span_lint(TEST_LINT, it.span, "item is named 'lintme'");
-        }
-    }
-}
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_early_lint_pass(box Pass as EarlyLintPassObject);
-}
diff --git a/src/test/run-pass-fulldeps/aux/llvm_pass_plugin.rs b/src/test/run-pass-fulldeps/aux/llvm_pass_plugin.rs
deleted file mode 100644 (file)
index 59cfdd1..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar)]
-#![feature(rustc_private)]
-
-extern crate rustc;
-extern crate rustc_plugin;
-
-use rustc_plugin::Registry;
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    // This pass is built in to LLVM.
-    //
-    // Normally, we would name a pass that was registered through
-    // C++ static object constructors in the same .so file as the
-    // plugin registrar.
-    reg.register_llvm_pass("gvn");
-}
diff --git a/src/test/run-pass-fulldeps/aux/logging_right_crate.rs b/src/test/run-pass-fulldeps/aux/logging_right_crate.rs
deleted file mode 100644 (file)
index db26b10..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(rustc_private)]
-
-#[macro_use] extern crate log;
-
-pub fn foo<T>() {
-    fn death() -> isize { panic!() }
-    debug!("{}", (||{ death() })());
-}
diff --git a/src/test/run-pass-fulldeps/aux/lto-syntax-extension-lib.rs b/src/test/run-pass-fulldeps/aux/lto-syntax-extension-lib.rs
deleted file mode 100644 (file)
index 78c03ba..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![crate_type = "rlib"]
-
-pub fn foo() {}
diff --git a/src/test/run-pass-fulldeps/aux/lto-syntax-extension-plugin.rs b/src/test/run-pass-fulldeps/aux/lto-syntax-extension-plugin.rs
deleted file mode 100644 (file)
index 9cf0d75..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar)]
-#![feature(rustc_private)]
-
-extern crate rustc;
-extern crate rustc_plugin;
-
-use rustc_plugin::Registry;
-
-#[plugin_registrar]
-pub fn plugin_registrar(_reg: &mut Registry) {}
diff --git a/src/test/run-pass-fulldeps/aux/macro_crate_test.rs b/src/test/run-pass-fulldeps/aux/macro_crate_test.rs
deleted file mode 100644 (file)
index 3516f56..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright 2013-2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar, quote, rustc_private)]
-
-extern crate syntax;
-extern crate rustc;
-extern crate rustc_plugin;
-
-use syntax::ast::{self, TokenTree, Item, MetaItem, ImplItem, TraitItem, ItemKind};
-use syntax::codemap::Span;
-use syntax::ext::base::*;
-use syntax::parse::{self, token};
-use syntax::ptr::P;
-use rustc_plugin::Registry;
-
-#[macro_export]
-macro_rules! exported_macro { () => (2) }
-macro_rules! unexported_macro { () => (3) }
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_macro("make_a_1", expand_make_a_1);
-    reg.register_macro("identity", expand_identity);
-    reg.register_syntax_extension(
-        token::intern("into_multi_foo"),
-        // FIXME (#22405): Replace `Box::new` with `box` here when/if possible.
-        MultiModifier(Box::new(expand_into_foo_multi)));
-    reg.register_syntax_extension(
-        token::intern("duplicate"),
-        // FIXME (#22405): Replace `Box::new` with `box` here when/if possible.
-        MultiDecorator(Box::new(expand_duplicate)));
-}
-
-fn expand_make_a_1(cx: &mut ExtCtxt, sp: Span, tts: &[TokenTree])
-                   -> Box<MacResult+'static> {
-    if !tts.is_empty() {
-        cx.span_fatal(sp, "make_a_1 takes no arguments");
-    }
-    MacEager::expr(quote_expr!(cx, 1))
-}
-
-// See Issue #15750
-fn expand_identity(cx: &mut ExtCtxt, _span: Span, tts: &[TokenTree])
-                   -> Box<MacResult+'static> {
-    // Parse an expression and emit it unchanged.
-    let mut parser = parse::new_parser_from_tts(cx.parse_sess(),
-        cx.cfg(), tts.to_vec());
-    let expr = parser.parse_expr().unwrap();
-    MacEager::expr(quote_expr!(&mut *cx, $expr))
-}
-
-fn expand_into_foo_multi(cx: &mut ExtCtxt,
-                         sp: Span,
-                         attr: &MetaItem,
-                         it: Annotatable) -> Annotatable {
-    match it {
-        Annotatable::Item(it) => {
-            Annotatable::Item(P(Item {
-                attrs: it.attrs.clone(),
-                ..(*quote_item!(cx, enum Foo2 { Bar2, Baz2 }).unwrap()).clone()
-            }))
-        }
-        Annotatable::ImplItem(it) => {
-            quote_item!(cx, impl X { fn foo(&self) -> i32 { 42 } }).unwrap().and_then(|i| {
-                match i.node {
-                    ItemKind::Impl(_, _, _, _, _, mut items) => {
-                        Annotatable::ImplItem(P(items.pop().expect("impl method not found")))
-                    }
-                    _ => unreachable!("impl parsed to something other than impl")
-                }
-            })
-        }
-        Annotatable::TraitItem(it) => {
-            quote_item!(cx, trait X { fn foo(&self) -> i32 { 0 } }).unwrap().and_then(|i| {
-                match i.node {
-                    ItemKind::Trait(_, _, _, mut items) => {
-                        Annotatable::TraitItem(P(items.pop().expect("trait method not found")))
-                    }
-                    _ => unreachable!("trait parsed to something other than trait")
-                }
-            })
-        }
-    }
-}
-
-// Create a duplicate of the annotatable, based on the MetaItem
-fn expand_duplicate(cx: &mut ExtCtxt,
-                    sp: Span,
-                    mi: &MetaItem,
-                    it: &Annotatable,
-                    push: &mut FnMut(Annotatable))
-{
-    let copy_name = match mi.node {
-        ast::MetaItemKind::List(_, ref xs) => {
-            if let ast::MetaItemKind::Word(ref w) = xs[0].node {
-                token::str_to_ident(&w)
-            } else {
-                cx.span_err(mi.span, "Expected word");
-                return;
-            }
-        }
-        _ => {
-            cx.span_err(mi.span, "Expected list");
-            return;
-        }
-    };
-
-    // Duplicate the item but replace its ident by the MetaItem
-    match it.clone() {
-        Annotatable::Item(it) => {
-            let mut new_it = (*it).clone();
-            new_it.attrs.clear();
-            new_it.ident = copy_name;
-            push(Annotatable::Item(P(new_it)));
-        }
-        Annotatable::ImplItem(it) => {
-            let mut new_it = (*it).clone();
-            new_it.attrs.clear();
-            new_it.ident = copy_name;
-            push(Annotatable::ImplItem(P(new_it)));
-        }
-        Annotatable::TraitItem(tt) => {
-            let mut new_it = (*tt).clone();
-            new_it.attrs.clear();
-            new_it.ident = copy_name;
-            push(Annotatable::TraitItem(P(new_it)));
-        }
-    }
-}
-
-pub fn foo() {}
diff --git a/src/test/run-pass-fulldeps/aux/plugin_args.rs b/src/test/run-pass-fulldeps/aux/plugin_args.rs
deleted file mode 100644 (file)
index f6e8026..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar)]
-#![feature(box_syntax, rustc_private)]
-
-extern crate syntax;
-extern crate rustc;
-extern crate rustc_plugin;
-
-use std::borrow::ToOwned;
-use syntax::ast;
-use syntax::codemap::Span;
-use syntax::ext::build::AstBuilder;
-use syntax::ext::base::{TTMacroExpander, ExtCtxt, MacResult, MacEager, NormalTT};
-use syntax::parse::token;
-use syntax::print::pprust;
-use syntax::ptr::P;
-use rustc_plugin::Registry;
-
-struct Expander {
-    args: Vec<P<ast::MetaItem>>,
-}
-
-impl TTMacroExpander for Expander {
-    fn expand<'cx>(&self,
-                   ecx: &'cx mut ExtCtxt,
-                   sp: Span,
-                   _: &[ast::TokenTree]) -> Box<MacResult+'cx> {
-        let args = self.args.iter().map(|i| pprust::meta_item_to_string(&*i))
-            .collect::<Vec<_>>().join(", ");
-        let interned = token::intern_and_get_ident(&args[..]);
-        MacEager::expr(ecx.expr_str(sp, interned))
-    }
-}
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    let args = reg.args().clone();
-    reg.register_syntax_extension(token::intern("plugin_args"),
-        // FIXME (#22405): Replace `Box::new` with `box` here when/if possible.
-        NormalTT(Box::new(Expander { args: args, }), None, false));
-}
diff --git a/src/test/run-pass-fulldeps/aux/plugin_crate_outlive_expansion_phase.rs b/src/test/run-pass-fulldeps/aux/plugin_crate_outlive_expansion_phase.rs
deleted file mode 100644 (file)
index f56983c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar)]
-#![feature(box_syntax, rustc_private)]
-
-extern crate rustc;
-extern crate rustc_plugin;
-
-use std::any::Any;
-use std::cell::RefCell;
-use rustc_plugin::Registry;
-
-struct Foo {
-    foo: isize
-}
-
-impl Drop for Foo {
-    fn drop(&mut self) {}
-}
-
-#[plugin_registrar]
-pub fn registrar(_: &mut Registry) {
-    thread_local!(static FOO: RefCell<Option<Box<Any+Send>>> = RefCell::new(None));
-    FOO.with(|s| *s.borrow_mut() = Some(box Foo { foo: 10 } as Box<Any+Send>));
-}
diff --git a/src/test/run-pass-fulldeps/aux/plugin_with_plugin_lib.rs b/src/test/run-pass-fulldeps/aux/plugin_with_plugin_lib.rs
deleted file mode 100644 (file)
index 8b5ff7c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![feature(plugin_registrar, rustc_private)]
-#![deny(plugin_as_library)] // should have no effect in a plugin crate
-
-extern crate macro_crate_test;
-extern crate rustc;
-extern crate rustc_plugin;
-
-use rustc_plugin::Registry;
-
-#[plugin_registrar]
-pub fn plugin_registrar(_: &mut Registry) { }
diff --git a/src/test/run-pass-fulldeps/aux/procedural_mbe_matching.rs b/src/test/run-pass-fulldeps/aux/procedural_mbe_matching.rs
deleted file mode 100644 (file)
index 713a7d1..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![crate_type="dylib"]
-#![feature(plugin_registrar, quote, rustc_private)]
-
-extern crate syntax;
-extern crate rustc;
-extern crate rustc_plugin;
-
-use syntax::codemap::Span;
-use syntax::parse::token::{self, str_to_ident, NtExpr, NtPat};
-use syntax::ast::{TokenTree, Pat};
-use syntax::ext::base::{ExtCtxt, MacResult, DummyResult, MacEager};
-use syntax::ext::build::AstBuilder;
-use syntax::ext::tt::macro_parser::{MatchedSeq, MatchedNonterminal};
-use syntax::ext::tt::macro_parser::{Success, Failure, Error};
-use syntax::ptr::P;
-use rustc_plugin::Registry;
-
-fn expand_mbe_matches(cx: &mut ExtCtxt, sp: Span, args: &[TokenTree])
-        -> Box<MacResult + 'static> {
-
-    let mbe_matcher = quote_matcher!(cx, $matched:expr, $($pat:pat)|+);
-
-    let mac_expr = match TokenTree::parse(cx, &mbe_matcher[..], args) {
-        Success(map) => {
-            match (&*map[&str_to_ident("matched").name], &*map[&str_to_ident("pat").name]) {
-                (&MatchedNonterminal(NtExpr(ref matched_expr)),
-                 &MatchedSeq(ref pats, seq_sp)) => {
-                    let pats: Vec<P<Pat>> = pats.iter().map(|pat_nt|
-                        if let &MatchedNonterminal(NtPat(ref pat)) = &**pat_nt {
-                            pat.clone()
-                        } else {
-                            unreachable!()
-                        }
-                    ).collect();
-                    let arm = cx.arm(seq_sp, pats, cx.expr_bool(seq_sp, true));
-
-                    quote_expr!(cx,
-                        match $matched_expr {
-                            $arm
-                            _ => false
-                        }
-                    )
-                }
-                _ => unreachable!()
-            }
-        }
-        Failure(_, s) | Error(_, s) => {
-            panic!("expected Success, but got Error/Failure: {}", s);
-        }
-    };
-
-    MacEager::expr(mac_expr)
-}
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_macro("matches", expand_mbe_matches);
-}
diff --git a/src/test/run-pass-fulldeps/aux/roman_numerals.rs b/src/test/run-pass-fulldeps/aux/roman_numerals.rs
deleted file mode 100644 (file)
index 839ece4..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![crate_type="dylib"]
-#![feature(plugin_registrar, rustc_private)]
-#![feature(slice_patterns)]
-
-extern crate syntax;
-extern crate rustc;
-extern crate rustc_plugin;
-
-use syntax::codemap::Span;
-use syntax::ast::TokenTree;
-use syntax::parse::token;
-use syntax::ext::base::{ExtCtxt, MacResult, DummyResult, MacEager};
-use syntax::ext::build::AstBuilder;  // trait for expr_usize
-use rustc_plugin::Registry;
-
-// WARNING WARNING WARNING WARNING WARNING
-// =======================================
-//
-// This code also appears in src/doc/guide-plugin.md. Please keep
-// the two copies in sync!  FIXME: have rustdoc read this file
-
-fn expand_rn(cx: &mut ExtCtxt, sp: Span, args: &[TokenTree])
-        -> Box<MacResult + 'static> {
-
-    static NUMERALS: &'static [(&'static str, usize)] = &[
-        ("M", 1000), ("CM", 900), ("D", 500), ("CD", 400),
-        ("C",  100), ("XC",  90), ("L",  50), ("XL",  40),
-        ("X",   10), ("IX",   9), ("V",   5), ("IV",   4),
-        ("I",    1)];
-
-    if args.len() != 1 {
-        cx.span_err(
-            sp,
-            &format!("argument should be a single identifier, but got {} arguments", args.len()));
-        return DummyResult::any(sp);
-    }
-
-    let text = match args[0] {
-        TokenTree::Token(_, token::Ident(s)) => s.to_string(),
-        _ => {
-            cx.span_err(sp, "argument should be a single identifier");
-            return DummyResult::any(sp);
-        }
-    };
-
-    let mut text = &*text;
-    let mut total = 0;
-    while !text.is_empty() {
-        match NUMERALS.iter().find(|&&(rn, _)| text.starts_with(rn)) {
-            Some(&(rn, val)) => {
-                total += val;
-                text = &text[rn.len()..];
-            }
-            None => {
-                cx.span_err(sp, "invalid Roman numeral");
-                return DummyResult::any(sp);
-            }
-        }
-    }
-
-    MacEager::expr(cx.expr_usize(sp, total))
-}
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_macro("rn", expand_rn);
-}
diff --git a/src/test/run-pass-fulldeps/aux/syntax_extension_with_dll_deps_1.rs b/src/test/run-pass-fulldeps/aux/syntax_extension_with_dll_deps_1.rs
deleted file mode 100644 (file)
index fadeb02..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![crate_type = "dylib"]
-
-pub fn the_answer() -> isize {
-    2
-}
diff --git a/src/test/run-pass-fulldeps/aux/syntax_extension_with_dll_deps_2.rs b/src/test/run-pass-fulldeps/aux/syntax_extension_with_dll_deps_2.rs
deleted file mode 100644 (file)
index 7281698..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// force-host
-
-#![crate_type = "dylib"]
-#![feature(plugin_registrar, quote, rustc_private)]
-
-extern crate syntax_extension_with_dll_deps_1 as other;
-extern crate syntax;
-extern crate rustc;
-extern crate rustc_plugin;
-
-use syntax::ast::{TokenTree, Item, MetaItem};
-use syntax::codemap::Span;
-use syntax::ext::base::*;
-use rustc_plugin::Registry;
-
-#[plugin_registrar]
-pub fn plugin_registrar(reg: &mut Registry) {
-    reg.register_macro("foo", expand_foo);
-}
-
-fn expand_foo(cx: &mut ExtCtxt, sp: Span, tts: &[TokenTree])
-              -> Box<MacResult+'static> {
-    let answer = other::the_answer();
-    MacEager::expr(quote_expr!(cx, $answer))
-}
diff --git a/src/test/run-pass-fulldeps/auxiliary/custom_derive_plugin.rs b/src/test/run-pass-fulldeps/auxiliary/custom_derive_plugin.rs
new file mode 100644 (file)
index 0000000..5f0ef4d
--- /dev/null
@@ -0,0 +1,78 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar)]
+#![feature(box_syntax)]
+#![feature(rustc_private)]
+
+extern crate syntax;
+extern crate syntax_ext;
+extern crate rustc;
+extern crate rustc_plugin;
+
+use syntax::ast;
+use syntax::codemap::Span;
+use syntax::ext::base::{MultiDecorator, ExtCtxt, Annotatable};
+use syntax::ext::build::AstBuilder;
+use syntax::parse::token;
+use syntax::ptr::P;
+use syntax_ext::deriving::generic::{cs_fold, TraitDef, MethodDef, combine_substructure};
+use syntax_ext::deriving::generic::ty::{Literal, LifetimeBounds, Path, borrowed_explicit_self};
+use rustc_plugin::Registry;
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_syntax_extension(
+        token::intern("derive_TotalSum"),
+        MultiDecorator(box expand));
+}
+
+fn expand(cx: &mut ExtCtxt,
+          span: Span,
+          mitem: &ast::MetaItem,
+          item: &Annotatable,
+          push: &mut FnMut(Annotatable)) {
+    let trait_def = TraitDef {
+        span: span,
+        attributes: vec![],
+        path: Path::new(vec!["TotalSum"]),
+        additional_bounds: vec![],
+        generics: LifetimeBounds::empty(),
+        associated_types: vec![],
+        is_unsafe: false,
+        methods: vec![
+            MethodDef {
+                name: "total_sum",
+                generics: LifetimeBounds::empty(),
+                explicit_self: borrowed_explicit_self(),
+                args: vec![],
+                ret_ty: Literal(Path::new_local("isize")),
+                attributes: vec![],
+                is_unsafe: false,
+                combine_substructure: combine_substructure(box |cx, span, substr| {
+                    let zero = cx.expr_isize(span, 0);
+                    cs_fold(false,
+                            |cx, span, subexpr, field, _| {
+                                cx.expr_binary(span, ast::BinOpKind::Add, subexpr,
+                                    cx.expr_method_call(span, field,
+                                        token::str_to_ident("total_sum"), vec![]))
+                            },
+                            zero,
+                            box |cx, span, _, _| { cx.span_bug(span, "wtf??"); },
+                            cx, span, substr)
+                }),
+            },
+        ],
+    };
+
+    trait_def.expand(cx, mitem, item, push)
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/custom_derive_plugin_attr.rs b/src/test/run-pass-fulldeps/auxiliary/custom_derive_plugin_attr.rs
new file mode 100644 (file)
index 0000000..2878674
--- /dev/null
@@ -0,0 +1,91 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar)]
+#![feature(box_syntax)]
+#![feature(rustc_private)]
+
+extern crate syntax;
+extern crate syntax_ext;
+extern crate rustc;
+extern crate rustc_plugin;
+
+use syntax::ast;
+use syntax::attr::AttrMetaMethods;
+use syntax::codemap::Span;
+use syntax::ext::base::{MultiDecorator, ExtCtxt, Annotatable};
+use syntax::ext::build::AstBuilder;
+use syntax::parse::token;
+use syntax::ptr::P;
+use syntax_ext::deriving::generic::{cs_fold, TraitDef, MethodDef, combine_substructure};
+use syntax_ext::deriving::generic::{Substructure, Struct, EnumMatching};
+use syntax_ext::deriving::generic::ty::{Literal, LifetimeBounds, Path, borrowed_explicit_self};
+use rustc_plugin::Registry;
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_syntax_extension(
+        token::intern("derive_TotalSum"),
+        MultiDecorator(box expand));
+}
+
+fn expand(cx: &mut ExtCtxt,
+          span: Span,
+          mitem: &ast::MetaItem,
+          item: &Annotatable,
+          push: &mut FnMut(Annotatable)) {
+    let trait_def = TraitDef {
+        span: span,
+        attributes: vec![],
+        path: Path::new(vec!["TotalSum"]),
+        additional_bounds: vec![],
+        generics: LifetimeBounds::empty(),
+        associated_types: vec![],
+        is_unsafe: false,
+        methods: vec![
+            MethodDef {
+                name: "total_sum",
+                generics: LifetimeBounds::empty(),
+                explicit_self: borrowed_explicit_self(),
+                args: vec![],
+                ret_ty: Literal(Path::new_local("isize")),
+                attributes: vec![],
+                is_unsafe: false,
+                combine_substructure: combine_substructure(Box::new(totalsum_substructure)),
+            },
+        ],
+    };
+
+    trait_def.expand(cx, mitem, item, push)
+}
+
+// Mostly copied from syntax::ext::deriving::hash
+/// Defines how the implementation for `trace()` is to be generated
+fn totalsum_substructure(cx: &mut ExtCtxt, trait_span: Span,
+                         substr: &Substructure) -> P<ast::Expr> {
+    let fields = match *substr.fields {
+        Struct(_, ref fs) | EnumMatching(_, _, ref fs) => fs,
+        _ => cx.span_bug(trait_span, "impossible substructure")
+    };
+
+    fields.iter().fold(cx.expr_isize(trait_span, 0), |acc, ref item| {
+        if item.attrs.iter().find(|a| a.check_name("ignore")).is_some() {
+            acc
+        } else {
+            cx.expr_binary(item.span, ast::BinOpKind::Add, acc,
+                           cx.expr_method_call(item.span,
+                                               item.self_.clone(),
+                                               substr.method_ident,
+                                               Vec::new()))
+        }
+    })
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/dummy_mir_pass.rs b/src/test/run-pass-fulldeps/auxiliary/dummy_mir_pass.rs
new file mode 100644 (file)
index 0000000..b5234af
--- /dev/null
@@ -0,0 +1,55 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar, rustc_private)]
+#![feature(box_syntax)]
+
+#[macro_use] extern crate rustc;
+extern crate rustc_plugin;
+extern crate rustc_const_math;
+extern crate syntax;
+
+use rustc::mir::transform::{self, MirPass};
+use rustc::mir::repr::{Mir, Literal};
+use rustc::mir::visit::MutVisitor;
+use rustc::ty;
+use rustc::middle::const_val::ConstVal;
+use rustc_const_math::ConstInt;
+use rustc_plugin::Registry;
+
+use syntax::ast::NodeId;
+
+struct Pass;
+
+impl transform::Pass for Pass {}
+impl<'tcx> MirPass<'tcx> for Pass {
+    fn run_pass(&mut self, _: &ty::TyCtxt<'tcx>, _: NodeId, mir: &mut Mir<'tcx>) {
+        Visitor.visit_mir(mir)
+    }
+}
+
+struct Visitor;
+
+impl<'tcx> MutVisitor<'tcx> for Visitor {
+    fn visit_literal(&mut self, literal: &mut Literal<'tcx>) {
+        if let Literal::Value { ref mut value } = *literal {
+            if let ConstVal::Integral(ConstInt::I32(ref mut i @ 11)) = *value {
+                *i = 42;
+            }
+        }
+    }
+}
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_mir_pass(box Pass);
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/issue-13560-1.rs b/src/test/run-pass-fulldeps/auxiliary/issue-13560-1.rs
new file mode 100644 (file)
index 0000000..858d726
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![crate_type = "dylib"]
diff --git a/src/test/run-pass-fulldeps/auxiliary/issue-13560-2.rs b/src/test/run-pass-fulldeps/auxiliary/issue-13560-2.rs
new file mode 100644 (file)
index 0000000..8e46acc
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![crate_type = "rlib"]
diff --git a/src/test/run-pass-fulldeps/auxiliary/issue-13560-3.rs b/src/test/run-pass-fulldeps/auxiliary/issue-13560-3.rs
new file mode 100644 (file)
index 0000000..c0539aa
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![crate_type = "rlib"]
+
+#[macro_use] #[no_link] extern crate issue_13560_1 as t1;
+#[macro_use] extern crate issue_13560_2 as t2;
diff --git a/src/test/run-pass-fulldeps/auxiliary/issue-16822.rs b/src/test/run-pass-fulldeps/auxiliary/issue-16822.rs
new file mode 100644 (file)
index 0000000..0e3041c
--- /dev/null
@@ -0,0 +1,30 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+use std::cell::RefCell;
+
+pub struct Window<Data>{
+    pub data: RefCell<Data>
+}
+
+impl<Data:  Update> Window<Data> {
+    pub fn update(&self, e: i32) {
+        match e {
+            1 => self.data.borrow_mut().update(),
+            _ => {}
+        }
+    }
+}
+
+pub trait Update {
+    fn update(&mut self);
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/issue-18502.rs b/src/test/run-pass-fulldeps/auxiliary/issue-18502.rs
new file mode 100644 (file)
index 0000000..718b046
--- /dev/null
@@ -0,0 +1,31 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+struct Foo;
+// This is the ICE trigger
+struct Formatter;
+
+trait Show {
+    fn fmt(&self);
+}
+
+impl Show for Foo {
+    fn fmt(&self) {}
+}
+
+fn bar<T>(f: extern "Rust" fn(&T), t: &T) { }
+
+// ICE requirement: this has to be marked as inline
+#[inline]
+pub fn baz() {
+    bar(Show::fmt, &Foo);
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/issue_16723_multiple_items_syntax_ext.rs b/src/test/run-pass-fulldeps/auxiliary/issue_16723_multiple_items_syntax_ext.rs
new file mode 100644 (file)
index 0000000..25a75c2
--- /dev/null
@@ -0,0 +1,36 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar, quote, rustc_private)]
+#![crate_type = "dylib"]
+
+extern crate syntax;
+extern crate rustc;
+extern crate rustc_plugin;
+
+use syntax::ast;
+use syntax::codemap;
+use syntax::ext::base::{ExtCtxt, MacResult, MacEager};
+use syntax::util::small_vector::SmallVector;
+use rustc_plugin::Registry;
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_macro("multiple_items", expand)
+}
+
+fn expand(cx: &mut ExtCtxt, _: codemap::Span, _: &[ast::TokenTree]) -> Box<MacResult+'static> {
+    MacEager::items(SmallVector::many(vec![
+        quote_item!(cx, struct Struct1;).unwrap(),
+        quote_item!(cx, struct Struct2;).unwrap()
+    ]))
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs b/src/test/run-pass-fulldeps/auxiliary/linkage-visibility.rs
new file mode 100644 (file)
index 0000000..09a2e8e
--- /dev/null
@@ -0,0 +1,45 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(rustc_private)]
+
+// We're testing linkage visibility; the compiler warns us, but we want to
+// do the runtime check that these functions aren't exported.
+#![allow(private_no_mangle_fns)]
+
+extern crate rustc_back;
+
+use rustc_back::dynamic_lib::DynamicLibrary;
+
+#[no_mangle]
+pub fn foo() { bar(); }
+
+pub fn foo2<T>() {
+    fn bar2() {
+        bar();
+    }
+    bar2();
+}
+
+#[no_mangle]
+fn bar() { }
+
+#[allow(dead_code)]
+#[no_mangle]
+fn baz() { }
+
+pub fn test() {
+    let lib = DynamicLibrary::open(None).unwrap();
+    unsafe {
+        assert!(lib.symbol::<isize>("foo").is_ok());
+        assert!(lib.symbol::<isize>("baz").is_err());
+        assert!(lib.symbol::<isize>("bar").is_err());
+    }
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/lint_for_crate.rs b/src/test/run-pass-fulldeps/auxiliary/lint_for_crate.rs
new file mode 100644 (file)
index 0000000..a424517
--- /dev/null
@@ -0,0 +1,47 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar, rustc_private)]
+#![feature(box_syntax)]
+
+#[macro_use] extern crate rustc;
+extern crate rustc_plugin;
+extern crate syntax;
+
+use rustc::lint::{LateContext, LintContext, LintPass, LateLintPass, LateLintPassObject, LintArray};
+use rustc_plugin::Registry;
+use rustc::hir;
+use syntax::attr;
+
+declare_lint!(CRATE_NOT_OKAY, Warn, "crate not marked with #![crate_okay]");
+
+struct Pass;
+
+impl LintPass for Pass {
+    fn get_lints(&self) -> LintArray {
+        lint_array!(CRATE_NOT_OKAY)
+    }
+}
+
+impl LateLintPass for Pass {
+    fn check_crate(&mut self, cx: &LateContext, krate: &hir::Crate) {
+        if !attr::contains_name(&krate.attrs, "crate_okay") {
+            cx.span_lint(CRATE_NOT_OKAY, krate.span,
+                         "crate is not marked with #![crate_okay]");
+        }
+    }
+}
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_late_lint_pass(box Pass as LateLintPassObject);
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/lint_group_plugin_test.rs b/src/test/run-pass-fulldeps/auxiliary/lint_group_plugin_test.rs
new file mode 100644 (file)
index 0000000..1e9a777
--- /dev/null
@@ -0,0 +1,51 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar)]
+#![feature(box_syntax, rustc_private)]
+
+// Load rustc as a plugin to get macros
+#[macro_use]
+extern crate rustc;
+extern crate rustc_plugin;
+
+use rustc::hir;
+use rustc::lint::{LateContext, LintContext, LintPass, LateLintPass, LateLintPassObject, LintArray};
+use rustc_plugin::Registry;
+
+declare_lint!(TEST_LINT, Warn, "Warn about items named 'lintme'");
+
+declare_lint!(PLEASE_LINT, Warn, "Warn about items named 'pleaselintme'");
+
+struct Pass;
+
+impl LintPass for Pass {
+    fn get_lints(&self) -> LintArray {
+        lint_array!(TEST_LINT, PLEASE_LINT)
+    }
+}
+
+impl LateLintPass for Pass {
+    fn check_item(&mut self, cx: &LateContext, it: &hir::Item) {
+        match &*it.name.as_str() {
+            "lintme" => cx.span_lint(TEST_LINT, it.span, "item is named 'lintme'"),
+            "pleaselintme" => cx.span_lint(PLEASE_LINT, it.span, "item is named 'pleaselintme'"),
+            _ => {}
+        }
+    }
+}
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_late_lint_pass(box Pass as LateLintPassObject);
+    reg.register_lint_group("lint_me", vec![TEST_LINT, PLEASE_LINT]);
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/lint_plugin_test.rs b/src/test/run-pass-fulldeps/auxiliary/lint_plugin_test.rs
new file mode 100644 (file)
index 0000000..8ea131d
--- /dev/null
@@ -0,0 +1,48 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar)]
+#![feature(box_syntax, rustc_private)]
+
+extern crate syntax;
+
+// Load rustc as a plugin to get macros
+#[macro_use]
+extern crate rustc;
+extern crate rustc_plugin;
+
+use rustc::lint::{EarlyContext, LintContext, LintPass, EarlyLintPass,
+                  EarlyLintPassObject, LintArray};
+use rustc_plugin::Registry;
+use syntax::ast;
+declare_lint!(TEST_LINT, Warn, "Warn about items named 'lintme'");
+
+struct Pass;
+
+impl LintPass for Pass {
+    fn get_lints(&self) -> LintArray {
+        lint_array!(TEST_LINT)
+    }
+}
+
+impl EarlyLintPass for Pass {
+    fn check_item(&mut self, cx: &EarlyContext, it: &ast::Item) {
+        if it.ident.name.as_str() == "lintme" {
+            cx.span_lint(TEST_LINT, it.span, "item is named 'lintme'");
+        }
+    }
+}
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_early_lint_pass(box Pass as EarlyLintPassObject);
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/llvm_pass_plugin.rs b/src/test/run-pass-fulldeps/auxiliary/llvm_pass_plugin.rs
new file mode 100644 (file)
index 0000000..59cfdd1
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar)]
+#![feature(rustc_private)]
+
+extern crate rustc;
+extern crate rustc_plugin;
+
+use rustc_plugin::Registry;
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    // This pass is built in to LLVM.
+    //
+    // Normally, we would name a pass that was registered through
+    // C++ static object constructors in the same .so file as the
+    // plugin registrar.
+    reg.register_llvm_pass("gvn");
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/logging_right_crate.rs b/src/test/run-pass-fulldeps/auxiliary/logging_right_crate.rs
new file mode 100644 (file)
index 0000000..db26b10
--- /dev/null
@@ -0,0 +1,18 @@
+// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(rustc_private)]
+
+#[macro_use] extern crate log;
+
+pub fn foo<T>() {
+    fn death() -> isize { panic!() }
+    debug!("{}", (||{ death() })());
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/lto-syntax-extension-lib.rs b/src/test/run-pass-fulldeps/auxiliary/lto-syntax-extension-lib.rs
new file mode 100644 (file)
index 0000000..78c03ba
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![crate_type = "rlib"]
+
+pub fn foo() {}
diff --git a/src/test/run-pass-fulldeps/auxiliary/lto-syntax-extension-plugin.rs b/src/test/run-pass-fulldeps/auxiliary/lto-syntax-extension-plugin.rs
new file mode 100644 (file)
index 0000000..9cf0d75
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar)]
+#![feature(rustc_private)]
+
+extern crate rustc;
+extern crate rustc_plugin;
+
+use rustc_plugin::Registry;
+
+#[plugin_registrar]
+pub fn plugin_registrar(_reg: &mut Registry) {}
diff --git a/src/test/run-pass-fulldeps/auxiliary/macro_crate_test.rs b/src/test/run-pass-fulldeps/auxiliary/macro_crate_test.rs
new file mode 100644 (file)
index 0000000..3516f56
--- /dev/null
@@ -0,0 +1,141 @@
+// Copyright 2013-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar, quote, rustc_private)]
+
+extern crate syntax;
+extern crate rustc;
+extern crate rustc_plugin;
+
+use syntax::ast::{self, TokenTree, Item, MetaItem, ImplItem, TraitItem, ItemKind};
+use syntax::codemap::Span;
+use syntax::ext::base::*;
+use syntax::parse::{self, token};
+use syntax::ptr::P;
+use rustc_plugin::Registry;
+
+#[macro_export]
+macro_rules! exported_macro { () => (2) }
+macro_rules! unexported_macro { () => (3) }
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_macro("make_a_1", expand_make_a_1);
+    reg.register_macro("identity", expand_identity);
+    reg.register_syntax_extension(
+        token::intern("into_multi_foo"),
+        // FIXME (#22405): Replace `Box::new` with `box` here when/if possible.
+        MultiModifier(Box::new(expand_into_foo_multi)));
+    reg.register_syntax_extension(
+        token::intern("duplicate"),
+        // FIXME (#22405): Replace `Box::new` with `box` here when/if possible.
+        MultiDecorator(Box::new(expand_duplicate)));
+}
+
+fn expand_make_a_1(cx: &mut ExtCtxt, sp: Span, tts: &[TokenTree])
+                   -> Box<MacResult+'static> {
+    if !tts.is_empty() {
+        cx.span_fatal(sp, "make_a_1 takes no arguments");
+    }
+    MacEager::expr(quote_expr!(cx, 1))
+}
+
+// See Issue #15750
+fn expand_identity(cx: &mut ExtCtxt, _span: Span, tts: &[TokenTree])
+                   -> Box<MacResult+'static> {
+    // Parse an expression and emit it unchanged.
+    let mut parser = parse::new_parser_from_tts(cx.parse_sess(),
+        cx.cfg(), tts.to_vec());
+    let expr = parser.parse_expr().unwrap();
+    MacEager::expr(quote_expr!(&mut *cx, $expr))
+}
+
+fn expand_into_foo_multi(cx: &mut ExtCtxt,
+                         sp: Span,
+                         attr: &MetaItem,
+                         it: Annotatable) -> Annotatable {
+    match it {
+        Annotatable::Item(it) => {
+            Annotatable::Item(P(Item {
+                attrs: it.attrs.clone(),
+                ..(*quote_item!(cx, enum Foo2 { Bar2, Baz2 }).unwrap()).clone()
+            }))
+        }
+        Annotatable::ImplItem(it) => {
+            quote_item!(cx, impl X { fn foo(&self) -> i32 { 42 } }).unwrap().and_then(|i| {
+                match i.node {
+                    ItemKind::Impl(_, _, _, _, _, mut items) => {
+                        Annotatable::ImplItem(P(items.pop().expect("impl method not found")))
+                    }
+                    _ => unreachable!("impl parsed to something other than impl")
+                }
+            })
+        }
+        Annotatable::TraitItem(it) => {
+            quote_item!(cx, trait X { fn foo(&self) -> i32 { 0 } }).unwrap().and_then(|i| {
+                match i.node {
+                    ItemKind::Trait(_, _, _, mut items) => {
+                        Annotatable::TraitItem(P(items.pop().expect("trait method not found")))
+                    }
+                    _ => unreachable!("trait parsed to something other than trait")
+                }
+            })
+        }
+    }
+}
+
+// Create a duplicate of the annotatable, based on the MetaItem
+fn expand_duplicate(cx: &mut ExtCtxt,
+                    sp: Span,
+                    mi: &MetaItem,
+                    it: &Annotatable,
+                    push: &mut FnMut(Annotatable))
+{
+    let copy_name = match mi.node {
+        ast::MetaItemKind::List(_, ref xs) => {
+            if let ast::MetaItemKind::Word(ref w) = xs[0].node {
+                token::str_to_ident(&w)
+            } else {
+                cx.span_err(mi.span, "Expected word");
+                return;
+            }
+        }
+        _ => {
+            cx.span_err(mi.span, "Expected list");
+            return;
+        }
+    };
+
+    // Duplicate the item but replace its ident by the MetaItem
+    match it.clone() {
+        Annotatable::Item(it) => {
+            let mut new_it = (*it).clone();
+            new_it.attrs.clear();
+            new_it.ident = copy_name;
+            push(Annotatable::Item(P(new_it)));
+        }
+        Annotatable::ImplItem(it) => {
+            let mut new_it = (*it).clone();
+            new_it.attrs.clear();
+            new_it.ident = copy_name;
+            push(Annotatable::ImplItem(P(new_it)));
+        }
+        Annotatable::TraitItem(tt) => {
+            let mut new_it = (*tt).clone();
+            new_it.attrs.clear();
+            new_it.ident = copy_name;
+            push(Annotatable::TraitItem(P(new_it)));
+        }
+    }
+}
+
+pub fn foo() {}
diff --git a/src/test/run-pass-fulldeps/auxiliary/plugin_args.rs b/src/test/run-pass-fulldeps/auxiliary/plugin_args.rs
new file mode 100644 (file)
index 0000000..f6e8026
--- /dev/null
@@ -0,0 +1,52 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar)]
+#![feature(box_syntax, rustc_private)]
+
+extern crate syntax;
+extern crate rustc;
+extern crate rustc_plugin;
+
+use std::borrow::ToOwned;
+use syntax::ast;
+use syntax::codemap::Span;
+use syntax::ext::build::AstBuilder;
+use syntax::ext::base::{TTMacroExpander, ExtCtxt, MacResult, MacEager, NormalTT};
+use syntax::parse::token;
+use syntax::print::pprust;
+use syntax::ptr::P;
+use rustc_plugin::Registry;
+
+struct Expander {
+    args: Vec<P<ast::MetaItem>>,
+}
+
+impl TTMacroExpander for Expander {
+    fn expand<'cx>(&self,
+                   ecx: &'cx mut ExtCtxt,
+                   sp: Span,
+                   _: &[ast::TokenTree]) -> Box<MacResult+'cx> {
+        let args = self.args.iter().map(|i| pprust::meta_item_to_string(&*i))
+            .collect::<Vec<_>>().join(", ");
+        let interned = token::intern_and_get_ident(&args[..]);
+        MacEager::expr(ecx.expr_str(sp, interned))
+    }
+}
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    let args = reg.args().clone();
+    reg.register_syntax_extension(token::intern("plugin_args"),
+        // FIXME (#22405): Replace `Box::new` with `box` here when/if possible.
+        NormalTT(Box::new(Expander { args: args, }), None, false));
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/plugin_crate_outlive_expansion_phase.rs b/src/test/run-pass-fulldeps/auxiliary/plugin_crate_outlive_expansion_phase.rs
new file mode 100644 (file)
index 0000000..f56983c
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar)]
+#![feature(box_syntax, rustc_private)]
+
+extern crate rustc;
+extern crate rustc_plugin;
+
+use std::any::Any;
+use std::cell::RefCell;
+use rustc_plugin::Registry;
+
+struct Foo {
+    foo: isize
+}
+
+impl Drop for Foo {
+    fn drop(&mut self) {}
+}
+
+#[plugin_registrar]
+pub fn registrar(_: &mut Registry) {
+    thread_local!(static FOO: RefCell<Option<Box<Any+Send>>> = RefCell::new(None));
+    FOO.with(|s| *s.borrow_mut() = Some(box Foo { foo: 10 } as Box<Any+Send>));
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/plugin_with_plugin_lib.rs b/src/test/run-pass-fulldeps/auxiliary/plugin_with_plugin_lib.rs
new file mode 100644 (file)
index 0000000..8b5ff7c
--- /dev/null
@@ -0,0 +1,23 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![feature(plugin_registrar, rustc_private)]
+#![deny(plugin_as_library)] // should have no effect in a plugin crate
+
+extern crate macro_crate_test;
+extern crate rustc;
+extern crate rustc_plugin;
+
+use rustc_plugin::Registry;
+
+#[plugin_registrar]
+pub fn plugin_registrar(_: &mut Registry) { }
diff --git a/src/test/run-pass-fulldeps/auxiliary/procedural_mbe_matching.rs b/src/test/run-pass-fulldeps/auxiliary/procedural_mbe_matching.rs
new file mode 100644 (file)
index 0000000..713a7d1
--- /dev/null
@@ -0,0 +1,70 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![crate_type="dylib"]
+#![feature(plugin_registrar, quote, rustc_private)]
+
+extern crate syntax;
+extern crate rustc;
+extern crate rustc_plugin;
+
+use syntax::codemap::Span;
+use syntax::parse::token::{self, str_to_ident, NtExpr, NtPat};
+use syntax::ast::{TokenTree, Pat};
+use syntax::ext::base::{ExtCtxt, MacResult, DummyResult, MacEager};
+use syntax::ext::build::AstBuilder;
+use syntax::ext::tt::macro_parser::{MatchedSeq, MatchedNonterminal};
+use syntax::ext::tt::macro_parser::{Success, Failure, Error};
+use syntax::ptr::P;
+use rustc_plugin::Registry;
+
+fn expand_mbe_matches(cx: &mut ExtCtxt, sp: Span, args: &[TokenTree])
+        -> Box<MacResult + 'static> {
+
+    let mbe_matcher = quote_matcher!(cx, $matched:expr, $($pat:pat)|+);
+
+    let mac_expr = match TokenTree::parse(cx, &mbe_matcher[..], args) {
+        Success(map) => {
+            match (&*map[&str_to_ident("matched").name], &*map[&str_to_ident("pat").name]) {
+                (&MatchedNonterminal(NtExpr(ref matched_expr)),
+                 &MatchedSeq(ref pats, seq_sp)) => {
+                    let pats: Vec<P<Pat>> = pats.iter().map(|pat_nt|
+                        if let &MatchedNonterminal(NtPat(ref pat)) = &**pat_nt {
+                            pat.clone()
+                        } else {
+                            unreachable!()
+                        }
+                    ).collect();
+                    let arm = cx.arm(seq_sp, pats, cx.expr_bool(seq_sp, true));
+
+                    quote_expr!(cx,
+                        match $matched_expr {
+                            $arm
+                            _ => false
+                        }
+                    )
+                }
+                _ => unreachable!()
+            }
+        }
+        Failure(_, s) | Error(_, s) => {
+            panic!("expected Success, but got Error/Failure: {}", s);
+        }
+    };
+
+    MacEager::expr(mac_expr)
+}
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_macro("matches", expand_mbe_matches);
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/roman_numerals.rs b/src/test/run-pass-fulldeps/auxiliary/roman_numerals.rs
new file mode 100644 (file)
index 0000000..839ece4
--- /dev/null
@@ -0,0 +1,79 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![crate_type="dylib"]
+#![feature(plugin_registrar, rustc_private)]
+#![feature(slice_patterns)]
+
+extern crate syntax;
+extern crate rustc;
+extern crate rustc_plugin;
+
+use syntax::codemap::Span;
+use syntax::ast::TokenTree;
+use syntax::parse::token;
+use syntax::ext::base::{ExtCtxt, MacResult, DummyResult, MacEager};
+use syntax::ext::build::AstBuilder;  // trait for expr_usize
+use rustc_plugin::Registry;
+
+// WARNING WARNING WARNING WARNING WARNING
+// =======================================
+//
+// This code also appears in src/doc/guide-plugin.md. Please keep
+// the two copies in sync!  FIXME: have rustdoc read this file
+
+fn expand_rn(cx: &mut ExtCtxt, sp: Span, args: &[TokenTree])
+        -> Box<MacResult + 'static> {
+
+    static NUMERALS: &'static [(&'static str, usize)] = &[
+        ("M", 1000), ("CM", 900), ("D", 500), ("CD", 400),
+        ("C",  100), ("XC",  90), ("L",  50), ("XL",  40),
+        ("X",   10), ("IX",   9), ("V",   5), ("IV",   4),
+        ("I",    1)];
+
+    if args.len() != 1 {
+        cx.span_err(
+            sp,
+            &format!("argument should be a single identifier, but got {} arguments", args.len()));
+        return DummyResult::any(sp);
+    }
+
+    let text = match args[0] {
+        TokenTree::Token(_, token::Ident(s)) => s.to_string(),
+        _ => {
+            cx.span_err(sp, "argument should be a single identifier");
+            return DummyResult::any(sp);
+        }
+    };
+
+    let mut text = &*text;
+    let mut total = 0;
+    while !text.is_empty() {
+        match NUMERALS.iter().find(|&&(rn, _)| text.starts_with(rn)) {
+            Some(&(rn, val)) => {
+                total += val;
+                text = &text[rn.len()..];
+            }
+            None => {
+                cx.span_err(sp, "invalid Roman numeral");
+                return DummyResult::any(sp);
+            }
+        }
+    }
+
+    MacEager::expr(cx.expr_usize(sp, total))
+}
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_macro("rn", expand_rn);
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/syntax_extension_with_dll_deps_1.rs b/src/test/run-pass-fulldeps/auxiliary/syntax_extension_with_dll_deps_1.rs
new file mode 100644 (file)
index 0000000..fadeb02
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![crate_type = "dylib"]
+
+pub fn the_answer() -> isize {
+    2
+}
diff --git a/src/test/run-pass-fulldeps/auxiliary/syntax_extension_with_dll_deps_2.rs b/src/test/run-pass-fulldeps/auxiliary/syntax_extension_with_dll_deps_2.rs
new file mode 100644 (file)
index 0000000..7281698
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// force-host
+
+#![crate_type = "dylib"]
+#![feature(plugin_registrar, quote, rustc_private)]
+
+extern crate syntax_extension_with_dll_deps_1 as other;
+extern crate syntax;
+extern crate rustc;
+extern crate rustc_plugin;
+
+use syntax::ast::{TokenTree, Item, MetaItem};
+use syntax::codemap::Span;
+use syntax::ext::base::*;
+use rustc_plugin::Registry;
+
+#[plugin_registrar]
+pub fn plugin_registrar(reg: &mut Registry) {
+    reg.register_macro("foo", expand_foo);
+}
+
+fn expand_foo(cx: &mut ExtCtxt, sp: Span, tts: &[TokenTree])
+              -> Box<MacResult+'static> {
+    let answer = other::the_answer();
+    MacEager::expr(quote_expr!(cx, $answer))
+}
diff --git a/src/test/run-pass/aux/allocator-dummy.rs b/src/test/run-pass/aux/allocator-dummy.rs
deleted file mode 100644 (file)
index a1d21db..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![feature(allocator, core_intrinsics, libc)]
-#![allocator]
-#![crate_type = "rlib"]
-#![no_std]
-
-extern crate libc;
-
-pub static mut HITS: usize = 0;
-
-#[no_mangle]
-pub extern fn __rust_allocate(size: usize, align: usize) -> *mut u8 {
-    unsafe {
-        HITS += 1;
-        libc::malloc(size as libc::size_t) as *mut u8
-    }
-}
-
-#[no_mangle]
-pub extern fn __rust_deallocate(ptr: *mut u8, old_size: usize, align: usize) {
-    unsafe {
-        HITS += 1;
-        libc::free(ptr as *mut _)
-    }
-}
-
-#[no_mangle]
-pub extern fn __rust_reallocate(ptr: *mut u8, old_size: usize, size: usize,
-                                align: usize) -> *mut u8 {
-    unsafe {
-        libc::realloc(ptr as *mut _, size as libc::size_t) as *mut u8
-    }
-}
-
-#[no_mangle]
-pub extern fn __rust_reallocate_inplace(ptr: *mut u8, old_size: usize,
-                                        size: usize, align: usize) -> usize {
-    unsafe { core::intrinsics::abort() }
-}
-
-#[no_mangle]
-pub extern fn __rust_usable_size(size: usize, align: usize) -> usize {
-    unsafe { core::intrinsics::abort() }
-}
diff --git a/src/test/run-pass/aux/anon-extern-mod-cross-crate-1.rs b/src/test/run-pass/aux/anon-extern-mod-cross-crate-1.rs
deleted file mode 100644 (file)
index 197fb9a..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="anonexternmod"]
-#![feature(libc)]
-
-extern crate libc;
-
-#[link(name="rust_test_helpers")]
-extern {
-    pub fn rust_get_test_int() -> libc::intptr_t;
-}
diff --git a/src/test/run-pass/aux/anon_trait_static_method_lib.rs b/src/test/run-pass/aux/anon_trait_static_method_lib.rs
deleted file mode 100644 (file)
index 9d93d96..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Foo {
-    pub x: isize
-}
-
-impl Foo {
-    pub fn new() -> Foo {
-        Foo { x: 3 }
-    }
-}
diff --git a/src/test/run-pass/aux/associated-const-cc-lib.rs b/src/test/run-pass/aux/associated-const-cc-lib.rs
deleted file mode 100644 (file)
index 1fd8fee..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(associated_consts)]
-
-#![crate_type="lib"]
-
-// These items are for testing that associated consts work cross-crate.
-pub trait Foo {
-    const BAR: usize;
-}
-
-pub struct FooNoDefault;
-
-impl Foo for FooNoDefault {
-    const BAR: usize = 0;
-}
-
-// These test that defaults and default resolution work cross-crate.
-pub trait FooDefault {
-    const BAR: usize = 1;
-}
-
-pub struct FooOverwriteDefault;
-
-impl FooDefault for FooOverwriteDefault {
-    const BAR: usize = 2;
-}
-
-pub struct FooUseDefault;
-
-impl FooDefault for FooUseDefault {}
-
-// Test inherent impls.
-pub struct InherentBar;
-
-impl InherentBar {
-    pub const BAR: usize = 3;
-}
diff --git a/src/test/run-pass/aux/associated-types-cc-lib.rs b/src/test/run-pass/aux/associated-types-cc-lib.rs
deleted file mode 100644 (file)
index 175e873..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// Helper for test issue-18048, which tests associated types in a
-// cross-crate scenario.
-
-#![crate_type="lib"]
-
-pub trait Bar: Sized {
-    type T;
-
-    fn get(x: Option<Self>) -> <Self as Bar>::T;
-}
-
-impl Bar for isize {
-    type T = usize;
-
-    fn get(_: Option<isize>) -> usize { 22 }
-}
diff --git a/src/test/run-pass/aux/augmented_assignments.rs b/src/test/run-pass/aux/augmented_assignments.rs
deleted file mode 100644 (file)
index 6601e72..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use std::ops::AddAssign;
-
-pub struct Int(pub i32);
-
-impl AddAssign<i32> for Int {
-    fn add_assign(&mut self, _: i32) {
-    }
-}
diff --git a/src/test/run-pass/aux/blind-item-mixed-crate-use-item-foo.rs b/src/test/run-pass/aux/blind-item-mixed-crate-use-item-foo.rs
deleted file mode 100644 (file)
index f129b4b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-pub const X: () = ();
diff --git a/src/test/run-pass/aux/blind-item-mixed-crate-use-item-foo2.rs b/src/test/run-pass/aux/blind-item-mixed-crate-use-item-foo2.rs
deleted file mode 100644 (file)
index 91fa912..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-pub const Y: () = ();
diff --git a/src/test/run-pass/aux/cci_borrow_lib.rs b/src/test/run-pass/aux/cci_borrow_lib.rs
deleted file mode 100644 (file)
index 9c90510..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn foo(x: &usize) -> usize {
-    *x
-}
diff --git a/src/test/run-pass/aux/cci_capture_clause.rs b/src/test/run-pass/aux/cci_capture_clause.rs
deleted file mode 100644 (file)
index b38e955..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use std::thread;
-use std::sync::mpsc::{Receiver, channel};
-
-pub fn foo<T:'static + Send + Clone>(x: T) -> Receiver<T> {
-    let (tx, rx) = channel();
-    thread::spawn(move|| {
-        tx.send(x.clone());
-    });
-    rx
-}
diff --git a/src/test/run-pass/aux/cci_class.rs b/src/test/run-pass/aux/cci_class.rs
deleted file mode 100644 (file)
index 08a13fd..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod kitties {
-    pub struct cat {
-      meows : usize,
-
-      pub how_hungry : isize,
-    }
-
-    pub fn cat(in_x : usize, in_y : isize) -> cat  {
-        cat {
-            meows: in_x,
-            how_hungry: in_y
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/cci_class_2.rs b/src/test/run-pass/aux/cci_class_2.rs
deleted file mode 100644 (file)
index 7d14783..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod kitties {
-    pub struct cat {
-      meows : usize,
-
-      pub how_hungry : isize,
-
-    }
-
-    impl cat {
-        pub fn speak(&self) {}
-    }
-
-    pub fn cat(in_x : usize, in_y : isize) -> cat {
-        cat {
-            meows: in_x,
-            how_hungry: in_y
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/cci_class_3.rs b/src/test/run-pass/aux/cci_class_3.rs
deleted file mode 100644 (file)
index ec1bf10..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod kitties {
-    pub struct cat {
-        meows : usize,
-
-        pub how_hungry : isize,
-    }
-
-    impl cat {
-        pub fn speak(&mut self) { self.meows += 1; }
-        pub fn meow_count(&mut self) -> usize { self.meows }
-    }
-
-    pub fn cat(in_x : usize, in_y : isize) -> cat {
-        cat {
-            meows: in_x,
-            how_hungry: in_y
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/cci_class_4.rs b/src/test/run-pass/aux/cci_class_4.rs
deleted file mode 100644 (file)
index 300cc31..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod kitties {
-    pub struct cat {
-        meows : usize,
-
-        pub how_hungry : isize,
-        pub name : String,
-    }
-
-    impl cat {
-        pub fn speak(&mut self) { self.meow(); }
-
-        pub fn eat(&mut self) -> bool {
-            if self.how_hungry > 0 {
-                println!("OM NOM NOM");
-                self.how_hungry -= 2;
-                return true;
-            } else {
-                println!("Not hungry!");
-                return false;
-            }
-        }
-    }
-
-    impl cat {
-        pub fn meow(&mut self) {
-            println!("Meow");
-            self.meows += 1;
-            if self.meows % 5 == 0 {
-                self.how_hungry += 1;
-            }
-        }
-    }
-
-    pub fn cat(in_x : usize, in_y : isize, in_name: String) -> cat {
-        cat {
-            meows: in_x,
-            how_hungry: in_y,
-            name: in_name
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/cci_class_6.rs b/src/test/run-pass/aux/cci_class_6.rs
deleted file mode 100644 (file)
index c902a6c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod kitties {
-
-    pub struct cat<U> {
-        info : Vec<U> ,
-        meows : usize,
-
-        pub how_hungry : isize,
-    }
-
-    impl<U> cat<U> {
-        pub fn speak<T>(&mut self, stuff: Vec<T> ) {
-            self.meows += stuff.len();
-        }
-
-        pub fn meow_count(&mut self) -> usize { self.meows }
-    }
-
-    pub fn cat<U>(in_x : usize, in_y : isize, in_info: Vec<U> ) -> cat<U> {
-        cat {
-            meows: in_x,
-            how_hungry: in_y,
-            info: in_info
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/cci_class_cast.rs b/src/test/run-pass/aux/cci_class_cast.rs
deleted file mode 100644 (file)
index f54a39d..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod kitty {
-    use std::fmt;
-
-    pub struct cat {
-      meows : usize,
-      pub how_hungry : isize,
-      pub name : String,
-    }
-
-    impl fmt::Display for cat {
-        fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-            write!(f, "{}", self.name)
-        }
-    }
-
-    impl cat {
-        fn meow(&mut self) {
-            println!("Meow");
-            self.meows += 1;
-            if self.meows % 5 == 0 {
-                self.how_hungry += 1;
-            }
-        }
-
-    }
-
-    impl cat {
-        pub fn speak(&mut self) { self.meow(); }
-
-        pub fn eat(&mut self) -> bool {
-            if self.how_hungry > 0 {
-                println!("OM NOM NOM");
-                self.how_hungry -= 2;
-                return true;
-            }
-            else {
-                println!("Not hungry!");
-                return false;
-            }
-        }
-    }
-
-    pub fn cat(in_x : usize, in_y : isize, in_name: String) -> cat {
-        cat {
-            meows: in_x,
-            how_hungry: in_y,
-            name: in_name
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/cci_class_trait.rs b/src/test/run-pass/aux/cci_class_trait.rs
deleted file mode 100644 (file)
index 7ca3d7c..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod animals {
-    pub trait noisy {
-        fn speak(&mut self);
-    }
-}
diff --git a/src/test/run-pass/aux/cci_const.rs b/src/test/run-pass/aux/cci_const.rs
deleted file mode 100644 (file)
index ee82900..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub extern fn bar() {
-}
-
-pub const foopy: &'static str = "hi there";
-pub const uint_val: usize = 12;
-pub const uint_expr: usize = (1 << uint_val) - 1;
diff --git a/src/test/run-pass/aux/cci_const_block.rs b/src/test/run-pass/aux/cci_const_block.rs
deleted file mode 100644 (file)
index 76fe9fe..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub static BLOCK_FN_DEF: fn(usize) -> usize = {
-    fn foo(a: usize) -> usize {
-        a + 10
-    }
-    foo
-};
diff --git a/src/test/run-pass/aux/cci_impl_lib.rs b/src/test/run-pass/aux/cci_impl_lib.rs
deleted file mode 100644 (file)
index d8921f4..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="cci_impl_lib"]
-
-pub trait uint_helpers {
-    fn to<F>(&self, v: usize, f: F) where F: FnMut(usize);
-}
-
-impl uint_helpers for usize {
-    #[inline]
-    fn to<F>(&self, v: usize, mut f: F) where F: FnMut(usize) {
-        let mut i = *self;
-        while i < v {
-            f(i);
-            i += 1;
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/cci_intrinsic.rs b/src/test/run-pass/aux/cci_intrinsic.rs
deleted file mode 100644 (file)
index b6e69d2..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(intrinsics)]
-
-pub mod rusti {
-    extern "rust-intrinsic" {
-        pub fn atomic_xchg<T>(dst: *mut T, src: T) -> T;
-    }
-}
-
-#[inline(always)]
-pub fn atomic_xchg(dst: *mut isize, src: isize) -> isize {
-    unsafe {
-        rusti::atomic_xchg(dst, src)
-    }
-}
diff --git a/src/test/run-pass/aux/cci_iter_lib.rs b/src/test/run-pass/aux/cci_iter_lib.rs
deleted file mode 100644 (file)
index 07d03b4..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="cci_iter_lib"]
-
-#[inline]
-pub fn iter<T, F>(v: &[T], mut f: F) where F: FnMut(&T) {
-    let mut i = 0;
-    let n = v.len();
-    while i < n {
-        f(&v[i]);
-        i += 1;
-    }
-}
diff --git a/src/test/run-pass/aux/cci_nested_lib.rs b/src/test/run-pass/aux/cci_nested_lib.rs
deleted file mode 100644 (file)
index 8c1a283..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![allow(unknown_features)]
-#![feature(box_syntax)]
-
-use std::cell::RefCell;
-
-pub struct Entry<A,B> {
-    key: A,
-    value: B
-}
-
-pub struct alist<A,B> {
-    eq_fn: extern "Rust" fn(A,A) -> bool,
-    data: Box<RefCell<Vec<Entry<A,B>>>>,
-}
-
-pub fn alist_add<A:'static,B:'static>(lst: &alist<A,B>, k: A, v: B) {
-    let mut data = lst.data.borrow_mut();
-    (*data).push(Entry{key:k, value:v});
-}
-
-pub fn alist_get<A:Clone + 'static,
-                 B:Clone + 'static>(
-                 lst: &alist<A,B>,
-                 k: A)
-                 -> B {
-    let eq_fn = lst.eq_fn;
-    let data = lst.data.borrow();
-    for entry in &(*data) {
-        if eq_fn(entry.key.clone(), k.clone()) {
-            return entry.value.clone();
-        }
-    }
-    panic!();
-}
-
-#[inline]
-pub fn new_int_alist<B:'static>() -> alist<isize, B> {
-    fn eq_int(a: isize, b: isize) -> bool { a == b }
-    return alist {
-        eq_fn: eq_int,
-        data: box RefCell::new(Vec::new()),
-    };
-}
-
-#[inline]
-pub fn new_int_alist_2<B:'static>() -> alist<isize, B> {
-    #[inline]
-    fn eq_int(a: isize, b: isize) -> bool { a == b }
-    return alist {
-        eq_fn: eq_int,
-        data: box RefCell::new(Vec::new()),
-    };
-}
diff --git a/src/test/run-pass/aux/cci_no_inline_lib.rs b/src/test/run-pass/aux/cci_no_inline_lib.rs
deleted file mode 100644 (file)
index 4c6f808..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="cci_no_inline_lib"]
-
-
-// same as cci_iter_lib, more-or-less, but not marked inline
-pub fn iter<F>(v: Vec<usize> , mut f: F) where F: FnMut(usize) {
-    let mut i = 0;
-    let n = v.len();
-    while i < n {
-        f(v[i]);
-        i += 1;
-    }
-}
diff --git a/src/test/run-pass/aux/cfg_inner_static.rs b/src/test/run-pass/aux/cfg_inner_static.rs
deleted file mode 100644 (file)
index b5b4390..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// this used to just ICE on compiling
-pub fn foo() {
-    if cfg!(foo) {
-        static a: isize = 3;
-        a
-    } else { 3 };
-}
diff --git a/src/test/run-pass/aux/cgu_test.rs b/src/test/run-pass/aux/cgu_test.rs
deleted file mode 100644 (file)
index 7c88d3d..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-// compile-flags: --crate-type=lib
-
-pub fn id<T>(t: T) -> T {
-  t
-}
diff --git a/src/test/run-pass/aux/cgu_test_a.rs b/src/test/run-pass/aux/cgu_test_a.rs
deleted file mode 100644 (file)
index 0f0d1cd..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-// compile-flags: -Ccodegen-units=2 --crate-type=lib
-
-extern crate cgu_test;
-
-pub mod a {
-    pub fn a() {
-        ::cgu_test::id(0);
-    }
-}
-pub mod b {
-    pub fn a() {
-        ::cgu_test::id(0);
-    }
-}
diff --git a/src/test/run-pass/aux/cgu_test_b.rs b/src/test/run-pass/aux/cgu_test_b.rs
deleted file mode 100644 (file)
index 0f0d1cd..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-// compile-flags: -Ccodegen-units=2 --crate-type=lib
-
-extern crate cgu_test;
-
-pub mod a {
-    pub fn a() {
-        ::cgu_test::id(0);
-    }
-}
-pub mod b {
-    pub fn a() {
-        ::cgu_test::id(0);
-    }
-}
diff --git a/src/test/run-pass/aux/check_static_recursion_foreign_helper.rs b/src/test/run-pass/aux/check_static_recursion_foreign_helper.rs
deleted file mode 100644 (file)
index c0d81cd..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// Helper definition for test/run-pass/check-static-recursion-foreign.rs.
-
-#![feature(libc)]
-
-#[crate_id = "check_static_recursion_foreign_helper"]
-#[crate_type = "lib"]
-
-extern crate libc;
-
-#[no_mangle]
-pub static test_static: libc::c_int = 0;
diff --git a/src/test/run-pass/aux/coherence_copy_like_lib.rs b/src/test/run-pass/aux/coherence_copy_like_lib.rs
deleted file mode 100644 (file)
index d3d389c..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "rlib"]
-#![feature(fundamental)]
-
-pub trait MyCopy { }
-impl MyCopy for i32 { }
-
-pub struct MyStruct<T>(T);
-
-#[fundamental]
-pub struct MyFundamentalStruct<T>(T);
diff --git a/src/test/run-pass/aux/coherence_lib.rs b/src/test/run-pass/aux/coherence_lib.rs
deleted file mode 100644 (file)
index daa1238..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-pub trait Remote {
-    fn foo(&self) { }
-}
-
-pub trait Remote1<T> {
-    fn foo(&self, t: T) { }
-}
-
-pub trait Remote2<T, U> {
-    fn foo(&self, t: T, u: U) { }
-}
-
-pub struct Pair<T,U>(T,U);
diff --git a/src/test/run-pass/aux/const_fn_lib.rs b/src/test/run-pass/aux/const_fn_lib.rs
deleted file mode 100644 (file)
index b0d5a6b..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// Crate that exports a const fn. Used for testing cross-crate.
-
-#![crate_type="rlib"]
-#![feature(const_fn)]
-
-pub const fn foo() -> usize { 22 } //~ ERROR const fn is unstable
diff --git a/src/test/run-pass/aux/crate-attributes-using-cfg_attr.rs b/src/test/run-pass/aux/crate-attributes-using-cfg_attr.rs
deleted file mode 100644 (file)
index 0028b51..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-// compile-flags: --cfg foo
-
-#![cfg_attr(foo, crate_type="lib")]
-
-pub fn foo() {}
diff --git a/src/test/run-pass/aux/crate-method-reexport-grrrrrrr2.rs b/src/test/run-pass/aux/crate-method-reexport-grrrrrrr2.rs
deleted file mode 100644 (file)
index f3d5bf2..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="crate_method_reexport_grrrrrrr2"]
-
-pub use name_pool::add;
-
-pub mod name_pool {
-    pub type name_pool = ();
-
-    pub trait add {
-        fn add(&self, s: String);
-    }
-
-    impl add for name_pool {
-        fn add(&self, _s: String) {
-        }
-    }
-}
-
-pub mod rust {
-    pub use name_pool::add;
-
-    pub type rt = Box<()>;
-
-    pub trait cx {
-        fn cx(&self);
-    }
-
-    impl cx for rt {
-        fn cx(&self) {
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/default_type_params_xc.rs b/src/test/run-pass/aux/default_type_params_xc.rs
deleted file mode 100644 (file)
index fe852e5..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Heap;
-
-pub struct FakeHeap;
-
-pub struct FakeVec<T, A = FakeHeap> { pub f: Option<(T,A)> }
diff --git a/src/test/run-pass/aux/derive-no-std.rs b/src/test/run-pass/aux/derive-no-std.rs
deleted file mode 100644 (file)
index f083e10..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![crate_type = "rlib"]
-#![no_std]
-
-// Issue #16803
-
-#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord,
-         Debug, Default, Copy)]
-pub struct Foo {
-    pub x: u32,
-}
-
-#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord,
-         Debug, Copy)]
-pub enum Bar {
-    Qux,
-    Quux(u32),
-}
-
-#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord,
-         Debug, Copy)]
-pub enum Void {}
-#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord,
-         Debug, Copy)]
-pub struct Empty;
-#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord,
-         Debug, Copy)]
-pub struct AlsoEmpty {}
-
diff --git a/src/test/run-pass/aux/empty-struct.rs b/src/test/run-pass/aux/empty-struct.rs
deleted file mode 100644 (file)
index 22f65c2..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct XEmpty1 {}
-pub struct XEmpty2;
-
-pub enum XE {
-    XEmpty3 {},
-    XEmpty4,
-}
diff --git a/src/test/run-pass/aux/explicit_self_xcrate.rs b/src/test/run-pass/aux/explicit_self_xcrate.rs
deleted file mode 100644 (file)
index dafa66d..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub trait Foo {
-    #[inline(always)]
-    fn f(&self);
-}
-
-pub struct Bar {
-    pub x: String
-}
-
-impl Foo for Bar {
-    #[inline(always)]
-    fn f(&self) {
-        println!("{}", (*self).x);
-    }
-}
diff --git a/src/test/run-pass/aux/extern-crosscrate-source.rs b/src/test/run-pass/aux/extern-crosscrate-source.rs
deleted file mode 100644 (file)
index fc2e328..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="externcallback"]
-#![crate_type = "lib"]
-#![feature(libc)]
-
-extern crate libc;
-
-pub mod rustrt {
-    extern crate libc;
-
-    #[link(name = "rust_test_helpers")]
-    extern {
-        pub fn rust_dbg_call(cb: extern "C" fn(libc::uintptr_t) -> libc::uintptr_t,
-                             data: libc::uintptr_t)
-                             -> libc::uintptr_t;
-    }
-}
-
-pub fn fact(n: libc::uintptr_t) -> libc::uintptr_t {
-    unsafe {
-        println!("n = {}", n);
-        rustrt::rust_dbg_call(cb, n)
-    }
-}
-
-pub extern fn cb(data: libc::uintptr_t) -> libc::uintptr_t {
-    if data == 1 {
-        data
-    } else {
-        fact(data - 1) * data
-    }
-}
diff --git a/src/test/run-pass/aux/extern-take-value.rs b/src/test/run-pass/aux/extern-take-value.rs
deleted file mode 100644 (file)
index 500c455..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub extern fn f() -> i32 { 1 }
-pub extern fn g() -> i32 { 2 }
-
-pub fn get_f() -> extern fn() -> i32 { f }
-pub fn get_g() -> extern fn() -> i32 { g }
diff --git a/src/test/run-pass/aux/extern_calling_convention.rs b/src/test/run-pass/aux/extern_calling_convention.rs
deleted file mode 100644 (file)
index 55a4226..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2013-2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// Make sure Rust generates the correct calling convention for extern
-// functions.
-
-#[inline(never)]
-#[cfg(target_arch = "x86_64")]
-pub extern "win64" fn foo(a: isize, b: isize, c: isize, d: isize) {
-    assert_eq!(a, 1);
-    assert_eq!(b, 2);
-    assert_eq!(c, 3);
-    assert_eq!(d, 4);
-
-    println!("a: {}, b: {}, c: {}, d: {}",
-             a, b, c, d)
-}
-
-#[inline(never)]
-#[cfg(not(target_arch = "x86_64"))]
-pub extern fn foo(a: isize, b: isize, c: isize, d: isize) {
-    assert_eq!(a, 1);
-    assert_eq!(b, 2);
-    assert_eq!(c, 3);
-    assert_eq!(d, 4);
-
-    println!("a: {}, b: {}, c: {}, d: {}",
-             a, b, c, d)
-}
diff --git a/src/test/run-pass/aux/extern_mod_ordering_lib.rs b/src/test/run-pass/aux/extern_mod_ordering_lib.rs
deleted file mode 100644 (file)
index 0fb6adf..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-pub mod extern_mod_ordering_lib {
-    pub fn f() {}
-}
diff --git a/src/test/run-pass/aux/fat_drop.rs b/src/test/run-pass/aux/fat_drop.rs
deleted file mode 100644 (file)
index 1f944b6..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub static mut DROPPED: bool = false;
-
-pub struct S {
-    _unsized: [u8]
-}
-
-impl Drop for S {
-    fn drop(&mut self) {
-        unsafe {
-            DROPPED = true;
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/fn-abi.rs b/src/test/run-pass/aux/fn-abi.rs
deleted file mode 100644 (file)
index 5d380ea..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[no_mangle]
-pub extern fn foo() {}
diff --git a/src/test/run-pass/aux/foreign_lib.rs b/src/test/run-pass/aux/foreign_lib.rs
deleted file mode 100644 (file)
index 460d0a0..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="foreign_lib"]
-
-#![feature(libc)]
-
-pub mod rustrt {
-    extern crate libc;
-
-    #[link(name = "rust_test_helpers")]
-    extern {
-        pub fn rust_get_test_int() -> libc::intptr_t;
-    }
-}
-
-pub mod rustrt2 {
-    extern crate libc;
-
-    extern {
-        pub fn rust_get_test_int() -> libc::intptr_t;
-    }
-}
-
-pub mod rustrt3 {
-    // Different type, but same ABI (on all supported platforms).
-    // Ensures that we don't ICE or trigger LLVM asserts when
-    // importing the same symbol under different types.
-    // See https://github.com/rust-lang/rust/issues/32740.
-    extern {
-        pub fn rust_get_test_int() -> *const u8;
-    }
-}
-
-pub fn local_uses() {
-    unsafe {
-        let x = rustrt::rust_get_test_int();
-        assert_eq!(x, rustrt2::rust_get_test_int());
-        assert_eq!(x as *const _, rustrt3::rust_get_test_int());
-    }
-}
diff --git a/src/test/run-pass/aux/go_trait.rs b/src/test/run-pass/aux/go_trait.rs
deleted file mode 100644 (file)
index 044bb60..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(specialization)]
-
-// Common code used for tests that model the Fn/FnMut/FnOnce hierarchy.
-
-pub trait Go {
-    fn go(&self, arg: isize);
-}
-
-pub fn go<G:Go>(this: &G, arg: isize) {
-    this.go(arg)
-}
-
-pub trait GoMut {
-    fn go_mut(&mut self, arg: isize);
-}
-
-pub fn go_mut<G:GoMut>(this: &mut G, arg: isize) {
-    this.go_mut(arg)
-}
-
-pub trait GoOnce {
-    fn go_once(self, arg: isize);
-}
-
-pub fn go_once<G:GoOnce>(this: G, arg: isize) {
-    this.go_once(arg)
-}
-
-impl<G> GoMut for G
-    where G : Go
-{
-    default fn go_mut(&mut self, arg: isize) {
-        go(&*self, arg)
-    }
-}
-
-impl<G> GoOnce for G
-    where G : GoMut
-{
-    default fn go_once(mut self, arg: isize) {
-        go_mut(&mut self, arg)
-    }
-}
diff --git a/src/test/run-pass/aux/i8.rs b/src/test/run-pass/aux/i8.rs
deleted file mode 100644 (file)
index 44e62b9..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// A crate named after a built-in type.
-
-pub struct Test;
diff --git a/src/test/run-pass/aux/impl_privacy_xc_1.rs b/src/test/run-pass/aux/impl_privacy_xc_1.rs
deleted file mode 100644 (file)
index ad3cded..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-pub struct Fish {
-    pub x: isize
-}
-
-impl Fish {
-    pub fn swim(&self) {}
-}
diff --git a/src/test/run-pass/aux/impl_privacy_xc_2.rs b/src/test/run-pass/aux/impl_privacy_xc_2.rs
deleted file mode 100644 (file)
index c3212b0..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-pub struct Fish {
-    pub x: isize
-}
-
-mod unexported {
-    use super::Fish;
-    impl PartialEq for Fish {
-        fn eq(&self, _: &Fish) -> bool { true }
-        fn ne(&self, _: &Fish) -> bool { false }
-    }
-}
diff --git a/src/test/run-pass/aux/inline_dtor.rs b/src/test/run-pass/aux/inline_dtor.rs
deleted file mode 100644 (file)
index dd1fdc2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="inline_dtor"]
-
-pub struct Foo;
-
-impl Drop for Foo {
-    #[inline]
-    fn drop(&mut self) {}
-}
diff --git a/src/test/run-pass/aux/inner_static.rs b/src/test/run-pass/aux/inner_static.rs
deleted file mode 100644 (file)
index 0d15c13..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct A<T> { pub v: T }
-pub struct B<T> { pub v: T }
-
-pub mod test {
-    pub struct A<T> { pub v: T }
-
-    impl<T> A<T> {
-        pub fn foo(&self) -> isize {
-            static a: isize = 5;
-            return a
-        }
-
-        pub fn bar(&self) -> isize {
-            static a: isize = 6;
-            return a;
-        }
-    }
-}
-
-impl<T> A<T> {
-    pub fn foo(&self) -> isize {
-        static a: isize = 1;
-        return a
-    }
-
-    pub fn bar(&self) -> isize {
-        static a: isize = 2;
-        return a;
-    }
-}
-
-impl<T> B<T> {
-    pub fn foo(&self) -> isize {
-        static a: isize = 3;
-        return a
-    }
-
-    pub fn bar(&self) -> isize {
-        static a: isize = 4;
-        return a;
-    }
-}
-
-pub fn foo() -> isize {
-    let a = A { v: () };
-    let b = B { v: () };
-    let c = test::A { v: () };
-    return a.foo() + a.bar() +
-           b.foo() + b.bar() +
-           c.foo() + c.bar();
-}
diff --git a/src/test/run-pass/aux/iss.rs b/src/test/run-pass/aux/iss.rs
deleted file mode 100644 (file)
index b231efa..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="issue6919_3"]
-
-// part of issue-6919.rs
-
-pub struct C<K> where K: FnOnce() {
-    pub k: K,
-}
-
-fn no_op() { }
-pub const D : C<fn()> = C {
-    k: no_op as fn()
-};
diff --git a/src/test/run-pass/aux/issue-10028.rs b/src/test/run-pass/aux/issue-10028.rs
deleted file mode 100644 (file)
index a21deb4..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(unsafe_no_drop_flag)]
-
-#[unsafe_no_drop_flag]
-pub struct ZeroLengthThingWithDestructor;
-impl Drop for ZeroLengthThingWithDestructor {
-    fn drop(&mut self) {}
-}
-impl ZeroLengthThingWithDestructor {
-    pub fn new() -> ZeroLengthThingWithDestructor {
-        ZeroLengthThingWithDestructor
-    }
-}
diff --git a/src/test/run-pass/aux/issue-11224.rs b/src/test/run-pass/aux/issue-11224.rs
deleted file mode 100644 (file)
index 15b72b3..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![deny(dead_code)]
-
-mod inner {
-    pub trait Trait {
-        fn f(&self) { f(); }
-    }
-
-    impl Trait for isize {}
-
-    fn f() {}
-}
-
-pub fn foo() {
-    let a = &1isize as &inner::Trait;
-    a.f();
-}
diff --git a/src/test/run-pass/aux/issue-11225-1.rs b/src/test/run-pass/aux/issue-11225-1.rs
deleted file mode 100644 (file)
index e1ec15b..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-mod inner {
-    pub trait Trait {
-        fn f(&self) { f(); }
-        fn f_ufcs(&self) { f_ufcs(); }
-    }
-
-    impl Trait for isize {}
-
-    fn f() {}
-    fn f_ufcs() {}
-}
-
-pub fn foo<T: inner::Trait>(t: T) {
-    t.f();
-}
-pub fn foo_ufcs<T: inner::Trait>(t: T) {
-    T::f_ufcs(&t);
-}
diff --git a/src/test/run-pass/aux/issue-11225-2.rs b/src/test/run-pass/aux/issue-11225-2.rs
deleted file mode 100644 (file)
index 25110ed..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use inner::Trait;
-
-mod inner {
-    pub struct Foo;
-    pub trait Trait {
-        fn f(&self);
-        fn f_ufcs(&self);
-    }
-
-    impl Trait for Foo {
-        fn f(&self) { }
-        fn f_ufcs(&self) { }
-    }
-}
-
-pub trait Outer {
-    fn foo<T: Trait>(&self, t: T) { t.f(); }
-    fn foo_ufcs<T: Trait>(&self, t: T) { T::f(&t); }
-}
-
-impl Outer for isize {}
-
-pub fn foo<T: Outer>(t: T) {
-    t.foo(inner::Foo);
-}
-pub fn foo_ufcs<T: Outer>(t: T) {
-    T::foo_ufcs(&t, inner::Foo)
-}
diff --git a/src/test/run-pass/aux/issue-11225-3.rs b/src/test/run-pass/aux/issue-11225-3.rs
deleted file mode 100644 (file)
index d48fb68..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-trait PrivateTrait {
-    fn private_trait_method(&self);
-    fn private_trait_method_ufcs(&self);
-}
-
-struct PrivateStruct;
-
-impl PrivateStruct {
-    fn private_inherent_method(&self) { }
-    fn private_inherent_method_ufcs(&self) { }
-}
-
-impl PrivateTrait for PrivateStruct {
-    fn private_trait_method(&self) { }
-    fn private_trait_method_ufcs(&self) { }
-}
-
-#[inline]
-pub fn public_inlinable_function() {
-    PrivateStruct.private_trait_method();
-    PrivateStruct.private_inherent_method();
-}
-
-#[inline]
-pub fn public_inlinable_function_ufcs() {
-    PrivateStruct::private_trait_method(&PrivateStruct);
-    PrivateStruct::private_inherent_method(&PrivateStruct);
-}
diff --git a/src/test/run-pass/aux/issue-11508.rs b/src/test/run-pass/aux/issue-11508.rs
deleted file mode 100644 (file)
index c5dc343..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Closed01<F>(pub F);
-
-pub trait Bar { fn new() -> Self; }
-
-impl<T: Bar> Bar for Closed01<T> {
-    fn new() -> Closed01<T> { Closed01(Bar::new()) }
-}
-impl Bar for f32 { fn new() -> f32 { 1.0 } }
-
-pub fn random<T: Bar>() -> T { Bar::new() }
diff --git a/src/test/run-pass/aux/issue-11529.rs b/src/test/run-pass/aux/issue-11529.rs
deleted file mode 100644 (file)
index 21ef99e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct A<'a>(pub &'a isize);
diff --git a/src/test/run-pass/aux/issue-12133-dylib.rs b/src/test/run-pass/aux/issue-12133-dylib.rs
deleted file mode 100644 (file)
index ea22258..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "dylib"]
diff --git a/src/test/run-pass/aux/issue-12133-dylib2.rs b/src/test/run-pass/aux/issue-12133-dylib2.rs
deleted file mode 100644 (file)
index fa5722a..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![crate_type = "dylib"]
-
-extern crate issue_12133_rlib as a;
-extern crate issue_12133_dylib as b;
diff --git a/src/test/run-pass/aux/issue-12133-rlib.rs b/src/test/run-pass/aux/issue-12133-rlib.rs
deleted file mode 100644 (file)
index 8e46acc..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![crate_type = "rlib"]
diff --git a/src/test/run-pass/aux/issue-12660-aux.rs b/src/test/run-pass/aux/issue-12660-aux.rs
deleted file mode 100644 (file)
index 9f2bd5d..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-#![crate_name="issue12660aux"]
-
-pub use my_mod::{MyStruct, my_fn};
-
-mod my_mod {
-    pub struct MyStruct;
-
-    pub fn my_fn(my_struct: MyStruct) {
-    }
-}
diff --git a/src/test/run-pass/aux/issue-13620-1.rs b/src/test/run-pass/aux/issue-13620-1.rs
deleted file mode 100644 (file)
index e373421..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Foo {
-    pub foo: extern fn()
-}
-
-extern fn the_foo() {}
-
-pub const FOO: Foo = Foo {
-    foo: the_foo
-};
diff --git a/src/test/run-pass/aux/issue-13620-2.rs b/src/test/run-pass/aux/issue-13620-2.rs
deleted file mode 100644 (file)
index 554170b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-extern crate issue_13620_1 as crate1;
-
-pub static FOO2: crate1::Foo = crate1::FOO;
diff --git a/src/test/run-pass/aux/issue-13872-1.rs b/src/test/run-pass/aux/issue-13872-1.rs
deleted file mode 100644 (file)
index 941b67e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub enum A { B }
diff --git a/src/test/run-pass/aux/issue-13872-2.rs b/src/test/run-pass/aux/issue-13872-2.rs
deleted file mode 100644 (file)
index bb51417..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-extern crate issue_13872_1 as foo;
-
-pub use foo::A::B;
diff --git a/src/test/run-pass/aux/issue-13872-3.rs b/src/test/run-pass/aux/issue-13872-3.rs
deleted file mode 100644 (file)
index e20618f..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-extern crate issue_13872_2 as bar;
-
-use bar::B;
-
-pub fn foo() {
-    match B {
-        B => {}
-    }
-}
diff --git a/src/test/run-pass/aux/issue-14344-1.rs b/src/test/run-pass/aux/issue-14344-1.rs
deleted file mode 100644 (file)
index 78c03ba..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![crate_type = "rlib"]
-
-pub fn foo() {}
diff --git a/src/test/run-pass/aux/issue-14344-2.rs b/src/test/run-pass/aux/issue-14344-2.rs
deleted file mode 100644 (file)
index 9df35e5..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-extern crate issue_14344_1;
-
-pub fn bar() {}
diff --git a/src/test/run-pass/aux/issue-14421.rs b/src/test/run-pass/aux/issue-14421.rs
deleted file mode 100644 (file)
index a480886..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-#![deny(warnings)]
-#![allow(dead_code)]
-
-pub use src::aliases::B;
-pub use src::hidden_core::make;
-
-mod src {
-    pub mod aliases {
-        use super::hidden_core::A;
-        pub type B = A<f32>;
-    }
-
-    pub mod hidden_core {
-        use super::aliases::B;
-
-        pub struct A<T> { t: T }
-
-        pub fn make() -> B { A { t: 1.0 } }
-
-        impl<T> A<T> {
-            pub fn foo(&mut self) { println!("called foo"); }
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/issue-14422.rs b/src/test/run-pass/aux/issue-14422.rs
deleted file mode 100644 (file)
index 32af6d9..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-#![deny(warnings)]
-
-pub use src::aliases::B;
-pub use src::hidden_core::make;
-
-mod src {
-    pub mod aliases {
-        use super::hidden_core::A;
-        pub type B = A;
-    }
-
-    pub mod hidden_core {
-        use super::aliases::B;
-
-        #[derive(Copy, Clone)]
-        pub struct A;
-
-        pub fn make() -> B { A }
-
-        impl A {
-            pub fn foo(&mut self) { println!("called foo"); }
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/issue-15562.rs b/src/test/run-pass/aux/issue-15562.rs
deleted file mode 100644 (file)
index 76243d3..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-extern {
-    pub fn transmute();
-}
diff --git a/src/test/run-pass/aux/issue-16643.rs b/src/test/run-pass/aux/issue-16643.rs
deleted file mode 100644 (file)
index b590160..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-pub struct TreeBuilder<H> { pub h: H }
-
-impl<H> TreeBuilder<H> {
-    pub fn process_token(&mut self) {
-        match self {
-            _ => for _y in self.by_ref() {}
-        }
-    }
-}
-
-impl<H> Iterator for TreeBuilder<H> {
-    type Item = H;
-
-    fn next(&mut self) -> Option<H> {
-        None
-    }
-}
diff --git a/src/test/run-pass/aux/issue-17662.rs b/src/test/run-pass/aux/issue-17662.rs
deleted file mode 100644 (file)
index fb55a07..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-pub trait Foo<'a, T> {
-    fn foo(&'a self) -> T;
-}
-
-pub fn foo<'a, T>(x: &'a Foo<'a, T>) -> T {
-    let x: &'a Foo<T> = x;
-    //            ^ the lifetime parameter of Foo is left to be inferred.
-    x.foo()
-    // ^ encoding this method call in metadata triggers an ICE.
-}
diff --git a/src/test/run-pass/aux/issue-17718-aux.rs b/src/test/run-pass/aux/issue-17718-aux.rs
deleted file mode 100644 (file)
index 373fc04..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(const_fn)]
-
-use std::sync::atomic;
-
-pub const C1: usize = 1;
-pub const C2: atomic::AtomicUsize = atomic::AtomicUsize::new(0);
-pub const C3: fn() = foo;
-pub const C4: usize = C1 * C1 + C1 / C1;
-pub const C5: &'static usize = &C4;
-
-pub static S1: usize = 3;
-pub static S2: atomic::AtomicUsize = atomic::AtomicUsize::new(0);
-
-fn foo() {}
diff --git a/src/test/run-pass/aux/issue-18501.rs b/src/test/run-pass/aux/issue-18501.rs
deleted file mode 100644 (file)
index af3bc20..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "rlib"]
-struct Foo;
-
-trait Tr {
-    fn tr(&self);
-}
-
-impl Tr for Foo {
-    fn tr(&self) {}
-}
-
-fn take_method<T>(f: fn(&T), t: &T) {}
-
-#[inline]
-pub fn pass_method() {
-    take_method(Tr::tr, &Foo);
-}
diff --git a/src/test/run-pass/aux/issue-18514.rs b/src/test/run-pass/aux/issue-18514.rs
deleted file mode 100644 (file)
index 2a5e07a..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "rlib"]
-
-pub trait Tr {
-    fn tr(&self);
-}
-
-pub struct St<V>(pub Vec<V>);
-
-impl<V> Tr for St<V> {
-    fn tr(&self) {
-        match self {
-            &St(ref v) => {
-                v.iter();
-            }
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/issue-18711.rs b/src/test/run-pass/aux/issue-18711.rs
deleted file mode 100644 (file)
index a29dcc0..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(unboxed_closures)]
-#![crate_type = "rlib"]
-
-pub fn inner<F>(f: F) -> F {
-    (move || f)()
-}
diff --git a/src/test/run-pass/aux/issue-18913-1.rs b/src/test/run-pass/aux/issue-18913-1.rs
deleted file mode 100644 (file)
index 4315e27..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![crate_type = "rlib"]
-#![crate_name = "foo"]
-
-pub fn foo() -> i32 { 0 }
diff --git a/src/test/run-pass/aux/issue-18913-2.rs b/src/test/run-pass/aux/issue-18913-2.rs
deleted file mode 100644 (file)
index dcdeaec..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![crate_type = "rlib"]
-#![crate_name = "foo"]
-
-pub fn foo() -> i32 { 1 }
diff --git a/src/test/run-pass/aux/issue-19340-1.rs b/src/test/run-pass/aux/issue-19340-1.rs
deleted file mode 100644 (file)
index fc61b78..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub enum Homura {
-    Madoka { name: String },
-}
diff --git a/src/test/run-pass/aux/issue-2380.rs b/src/test/run-pass/aux/issue-2380.rs
deleted file mode 100644 (file)
index cfebc4a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="a"]
-#![crate_type = "lib"]
-
-#![allow(unknown_features)]
-#![feature(box_syntax)]
-
-pub trait i<T>
-{
-    fn dummy(&self, t: T) -> T { panic!() }
-}
-
-pub fn f<T>() -> Box<i<T>+'static> {
-    impl<T> i<T> for () { }
-
-    box () as Box<i<T>+'static>
-}
diff --git a/src/test/run-pass/aux/issue-2414-a.rs b/src/test/run-pass/aux/issue-2414-a.rs
deleted file mode 100644 (file)
index 8c41419..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="a"]
-#![crate_type = "lib"]
-
-type t1 = usize;
-
-trait foo {
-    fn foo(&self);
-}
-
-impl foo for String {
-    fn foo(&self) {}
-}
diff --git a/src/test/run-pass/aux/issue-2414-b.rs b/src/test/run-pass/aux/issue-2414-b.rs
deleted file mode 100644 (file)
index b1c95bc..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-
-#![crate_name="b"]
-#![crate_type = "lib"]
-
-extern crate a;
diff --git a/src/test/run-pass/aux/issue-25185-1.rs b/src/test/run-pass/aux/issue-25185-1.rs
deleted file mode 100644 (file)
index 1ec2950..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![feature(linked_from)]
-
-#![crate_type = "rlib"]
-
-#[link(name = "rust_test_helpers", kind = "static")]
-#[linked_from = "rust_test_helpers"]
-extern {
-    pub fn rust_dbg_extern_identity_u32(u: u32) -> u32;
-}
diff --git a/src/test/run-pass/aux/issue-25185-2.rs b/src/test/run-pass/aux/issue-25185-2.rs
deleted file mode 100644 (file)
index 00b5277..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-extern crate issue_25185_1;
-
-pub use issue_25185_1::rust_dbg_extern_identity_u32;
diff --git a/src/test/run-pass/aux/issue-2526.rs b/src/test/run-pass/aux/issue-2526.rs
deleted file mode 100644 (file)
index 3d777d0..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="issue_2526"]
-#![crate_type = "lib"]
-
-use std::marker;
-
-pub struct arc_destruct<T: Sync> {
-    _data: isize,
-    _marker: marker::PhantomData<T>
-}
-
-impl<T: Sync> Drop for arc_destruct<T> {
-    fn drop(&mut self) {}
-}
-
-fn arc_destruct<T: Sync>(data: isize) -> arc_destruct<T> {
-    arc_destruct {
-        _data: data,
-        _marker: marker::PhantomData
-    }
-}
-
-fn arc<T: Sync>(_data: T) -> arc_destruct<T> {
-    arc_destruct(0)
-}
-
-fn init() -> arc_destruct<context_res> {
-    arc(context_res())
-}
-
-pub struct context_res {
-    ctx : isize,
-}
-
-impl Drop for context_res {
-    fn drop(&mut self) {}
-}
-
-fn context_res() -> context_res {
-    context_res {
-        ctx: 0
-    }
-}
-
-pub type context = arc_destruct<context_res>;
diff --git a/src/test/run-pass/aux/issue-25467.rs b/src/test/run-pass/aux/issue-25467.rs
deleted file mode 100644 (file)
index e358cde..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-pub trait Trait {
-    // the issue is sensitive to interning order - so use names
-    // unlikely to appear in libstd.
-    type Issue25467FooT;
-    type Issue25467BarT;
-}
-
-pub type Object = Option<Box<Trait<Issue25467FooT=(),Issue25467BarT=()>>>;
diff --git a/src/test/run-pass/aux/issue-2631-a.rs b/src/test/run-pass/aux/issue-2631-a.rs
deleted file mode 100644 (file)
index 604a3e6..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="req"]
-#![crate_type = "lib"]
-
-use std::cell::RefCell;
-use std::collections::HashMap;
-use std::rc::Rc;
-
-pub type header_map = HashMap<String, Rc<RefCell<Vec<Rc<String>>>>>;
-
-// the unused ty param is necessary so this gets monomorphized
-pub fn request<T>(req: &header_map) {
-  let data = req[&"METHOD".to_string()].clone();
-  let _x = data.borrow().clone()[0].clone();
-}
diff --git a/src/test/run-pass/aux/issue-29485.rs b/src/test/run-pass/aux/issue-29485.rs
deleted file mode 100644 (file)
index 825c449..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="a"]
-#![crate_type = "lib"]
-
-pub struct X(pub u8);
-
-impl Drop for X {
-    fn drop(&mut self) {
-        assert_eq!(self.0, 1)
-    }
-}
-
-pub fn f(x: &mut X, g: fn()) {
-    x.0 = 1;
-    g();
-    x.0 = 0;
-}
diff --git a/src/test/run-pass/aux/issue-3012-1.rs b/src/test/run-pass/aux/issue-3012-1.rs
deleted file mode 100644 (file)
index b6199f5..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="socketlib"]
-#![crate_type = "lib"]
-#![feature(libc)]
-
-pub mod socket {
-    extern crate libc;
-
-    pub struct socket_handle {
-        sockfd: libc::c_int,
-    }
-
-    impl Drop for socket_handle {
-        fn drop(&mut self) {
-            /* c::close(self.sockfd); */
-        }
-    }
-
-    pub fn socket_handle(x: libc::c_int) -> socket_handle {
-        socket_handle {
-            sockfd: x
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/issue-31702-1.rs b/src/test/run-pass/aux/issue-31702-1.rs
deleted file mode 100644 (file)
index 50a3163..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[derive(Copy)]
-pub struct U256(pub [u64; 4]);
-
-impl Clone for U256 {
-    fn clone(&self) -> U256 {
-        *self
-    }
-}
-
-impl U256 {
-    pub fn new(value: u64) -> U256 {
-        let mut ret = [0; 4];
-        ret[0] = value;
-        U256(ret)
-    }
-}
diff --git a/src/test/run-pass/aux/issue-31702-2.rs b/src/test/run-pass/aux/issue-31702-2.rs
deleted file mode 100644 (file)
index c5b1bc6..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -g
-
-extern crate issue_31702_1;
-
-use std::collections::HashMap;
-use issue_31702_1::U256;
-
-pub struct Ethash {
-    engine_params: for<'a> fn() -> Option<&'a Vec<u8>>,
-    u256_params: HashMap<String, U256>,
-}
-
-impl Ethash {
-    pub fn u256_param(&mut self, name: &str) -> U256 {
-        let engine = self.engine_params;
-        *self.u256_params.entry(name.to_owned()).or_insert_with(|| {
-            engine().map_or(U256::new(0u64), |_a| loop {})
-        })
-    }
-}
diff --git a/src/test/run-pass/aux/issue-4208-cc.rs b/src/test/run-pass/aux/issue-4208-cc.rs
deleted file mode 100644 (file)
index a7c1633..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="numeric"]
-#![crate_type = "lib"]
-
-pub trait Trig<T> {
-    fn sin(&self) -> T;
-}
-
-pub fn sin<T:Trig<R>, R>(theta: &T) -> R { theta.sin() }
-
-pub trait Angle<T>: Trig<T> {}
diff --git a/src/test/run-pass/aux/issue-4545.rs b/src/test/run-pass/aux/issue-4545.rs
deleted file mode 100644 (file)
index 29feeaa..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct S<T>(Option<T>);
-pub fn mk<T>() -> S<T> { S(None) }
diff --git a/src/test/run-pass/aux/issue-5518.rs b/src/test/run-pass/aux/issue-5518.rs
deleted file mode 100644 (file)
index cea227e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-trait A<'a, T> {
-    fn f(&mut self) -> &'a mut T;
-    fn p() -> T;
-}
diff --git a/src/test/run-pass/aux/issue-5521.rs b/src/test/run-pass/aux/issue-5521.rs
deleted file mode 100644 (file)
index 82bd2b6..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-
-use std::collections::HashMap;
-
-pub type map = Box<HashMap<usize, usize>>;
diff --git a/src/test/run-pass/aux/issue-7178.rs b/src/test/run-pass/aux/issue-7178.rs
deleted file mode 100644 (file)
index 18b464b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Foo<'a, A:'a>(&'a A);
-
-impl<'a, A> Foo<'a, A> {
-    pub fn new(a: &'a A) -> Foo<'a, A> {
-        Foo(a)
-    }
-}
diff --git a/src/test/run-pass/aux/issue-7899.rs b/src/test/run-pass/aux/issue-7899.rs
deleted file mode 100644 (file)
index e197e84..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct V2<T>(pub T, pub T);
diff --git a/src/test/run-pass/aux/issue-8044.rs b/src/test/run-pass/aux/issue-8044.rs
deleted file mode 100644 (file)
index 8f32869..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct BTree<V> {
-    pub node: TreeItem<V>,
-}
-
-pub enum TreeItem<V> {
-    TreeLeaf { value: V },
-}
-
-pub fn leaf<V>(value: V) -> TreeItem<V> {
-    TreeItem::TreeLeaf { value: value }
-}
-
-fn main() {
-    BTree::<isize> { node: leaf(1) };
-}
diff --git a/src/test/run-pass/aux/issue-8259.rs b/src/test/run-pass/aux/issue-8259.rs
deleted file mode 100644 (file)
index 91167e8..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-
-pub enum Foo<'a> {
-    A,
-    B(&'a str),
-}
diff --git a/src/test/run-pass/aux/issue-9906.rs b/src/test/run-pass/aux/issue-9906.rs
deleted file mode 100644 (file)
index 5eb4898..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub use other::FooBar;
-pub use other::foo;
-
-mod other {
-    pub struct FooBar{value: isize}
-    impl FooBar{
-        pub fn new(val: isize) -> FooBar {
-            FooBar{value: val}
-        }
-    }
-
-    pub fn foo(){
-        1+1;
-    }
-}
diff --git a/src/test/run-pass/aux/issue-9968.rs b/src/test/run-pass/aux/issue-9968.rs
deleted file mode 100644 (file)
index d04d761..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub use internal::core::{Trait, Struct};
-
-mod internal {
-    pub mod core {
-        pub struct Struct;
-        impl Struct {
-            pub fn init() -> Struct {
-                Struct
-            }
-        }
-
-        pub trait Trait {
-            fn test(&self) {
-                private();
-            }
-        }
-
-        impl Trait for Struct {}
-
-        fn private() { }
-    }
-}
diff --git a/src/test/run-pass/aux/issue13507.rs b/src/test/run-pass/aux/issue13507.rs
deleted file mode 100644 (file)
index 4cb846b..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(core)]
-
-pub mod testtypes {
-    use std::any::TypeId;
-
-    pub fn type_ids() -> Vec<TypeId> {
-        vec![
-            TypeId::of::<FooBool>(),
-            TypeId::of::<FooInt>(),
-            TypeId::of::<FooUint>(),
-            TypeId::of::<FooFloat>(),
-            TypeId::of::<FooStr>(),
-            TypeId::of::<FooArray>(),
-            TypeId::of::<FooSlice>(),
-            TypeId::of::<FooBox>(),
-            TypeId::of::<FooPtr>(),
-            TypeId::of::<FooRef>(),
-            TypeId::of::<FooFnPtr>(),
-            TypeId::of::<FooNil>(),
-            TypeId::of::<FooTuple>(),
-            TypeId::of::<FooTrait>(),
-            TypeId::of::<FooStruct>(),
-            TypeId::of::<FooEnum>()
-        ]
-    }
-
-    // Tests TyBool
-    pub type FooBool = bool;
-
-    // Tests TyChar
-    pub type FooChar = char;
-
-    // Tests TyInt (does not test all variants of IntTy)
-    pub type FooInt = isize;
-
-    // Tests TyUint (does not test all variants of UintTy)
-    pub type FooUint = usize;
-
-    // Tests TyFloat (does not test all variants of FloatTy)
-    pub type FooFloat = f64;
-
-    // Tests TyStr
-    pub type FooStr = str;
-
-    // Tests TyArray
-    pub type FooArray = [u8; 1];
-
-    // Tests TySlice
-    pub type FooSlice = [u8];
-
-    // Tests TyBox (of u8)
-    pub type FooBox = Box<u8>;
-
-    // Tests TyRawPtr
-    pub type FooPtr = *const u8;
-
-    // Tests TyRef
-    pub type FooRef = &'static u8;
-
-    // Tests TyFnPtr
-    pub type FooFnPtr = fn(u8) -> bool;
-
-    // Tests TyTrait
-    pub trait FooTrait {
-        fn foo_method(&self) -> usize;
-    }
-
-    // Tests TyStruct
-    pub struct FooStruct {
-        pub pub_foo_field: usize,
-        foo_field: usize
-    }
-
-    // Tests TyEnum
-    pub enum FooEnum {
-        VarA(usize),
-        VarB(usize, usize)
-    }
-
-    // Tests TyTuple
-    pub type FooNil = ();
-    pub type FooTuple = (u8, i8, bool);
-
-    // Skipping TyParam
-
-    // Skipping TyInfer
-
-    // Skipping TyError
-}
diff --git a/src/test/run-pass/aux/issue2170lib.rs b/src/test/run-pass/aux/issue2170lib.rs
deleted file mode 100644 (file)
index b311ee3..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-fn foo(_x: i32) {
-}
-
-pub struct rsrc {
-  x: i32,
-}
-
-impl Drop for rsrc {
-    fn drop(&mut self) {
-        foo(self.x);
-    }
-}
-
-pub fn rsrc(x: i32) -> rsrc {
-    rsrc {
-        x: x
-    }
-}
diff --git a/src/test/run-pass/aux/issue_10031_aux.rs b/src/test/run-pass/aux/issue_10031_aux.rs
deleted file mode 100644 (file)
index f0f1af2..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Wrap<A>(pub A);
diff --git a/src/test/run-pass/aux/issue_12612_1.rs b/src/test/run-pass/aux/issue_12612_1.rs
deleted file mode 100644 (file)
index a0234c1..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod bar {
-    pub fn foo() {}
-}
diff --git a/src/test/run-pass/aux/issue_12612_2.rs b/src/test/run-pass/aux/issue_12612_2.rs
deleted file mode 100644 (file)
index b4ae437..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn baz() {}
diff --git a/src/test/run-pass/aux/issue_19293.rs b/src/test/run-pass/aux/issue_19293.rs
deleted file mode 100644 (file)
index 12894ad..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Foo (pub isize);
-pub enum MyEnum {
-    Foo(Foo),
-}
diff --git a/src/test/run-pass/aux/issue_20389.rs b/src/test/run-pass/aux/issue_20389.rs
deleted file mode 100644 (file)
index 4ce7e30..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub trait T {
-    type C;
-    fn dummy(&self) { }
-}
diff --git a/src/test/run-pass/aux/issue_2316_a.rs b/src/test/run-pass/aux/issue_2316_a.rs
deleted file mode 100644 (file)
index 6bd1e73..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-enum cat {
-  tabby, calico, tortoiseshell
-}
diff --git a/src/test/run-pass/aux/issue_2316_b.rs b/src/test/run-pass/aux/issue_2316_b.rs
deleted file mode 100644 (file)
index 8a212f6..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![allow(unused_imports)]
-
-extern crate issue_2316_a;
-
-pub mod cloth {
-    use issue_2316_a::*;
-
-    pub enum fabric {
-        gingham, flannel, calico
-    }
-}
diff --git a/src/test/run-pass/aux/issue_2472_b.rs b/src/test/run-pass/aux/issue_2472_b.rs
deleted file mode 100644 (file)
index 5f55476..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-
-pub struct S(pub ());
-
-impl S {
-    pub fn foo(&self) { }
-}
-
-pub trait T {
-    fn bar(&self);
-}
-
-impl T for S {
-    fn bar(&self) { }
-}
diff --git a/src/test/run-pass/aux/issue_2723_a.rs b/src/test/run-pass/aux/issue_2723_a.rs
deleted file mode 100644 (file)
index 44bea13..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-
-pub unsafe fn f(xs: Vec<isize> ) {
-    xs.iter().map(|_x| { unsafe fn q() { panic!(); } }).collect::<Vec<()>>();
-}
diff --git a/src/test/run-pass/aux/issue_3136_a.rc b/src/test/run-pass/aux/issue_3136_a.rc
deleted file mode 100644 (file)
index 320e0ce..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-pub mod issue_3136_a;
diff --git a/src/test/run-pass/aux/issue_3136_a.rs b/src/test/run-pass/aux/issue_3136_a.rs
deleted file mode 100644 (file)
index 55de208..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-trait x {
-    fn use_x<T>(&self);
-}
-struct y(());
-impl x for y {
-    fn use_x<T>(&self) {
-        struct foo { //~ ERROR quux
-            i: ()
-        }
-        fn new_foo<T>(i: ()) -> foo {
-            foo { i: i }
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/issue_3979_traits.rs b/src/test/run-pass/aux/issue_3979_traits.rs
deleted file mode 100644 (file)
index 5c306be..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="issue_3979_traits"]
-
-#![crate_type = "lib"]
-
-pub trait Positioned {
-  fn SetX(&mut self, isize);
-  fn X(&self) -> isize;
-}
-
-pub trait Movable: Positioned {
-  fn translate(&mut self, dx: isize) {
-    let x = self.X() + dx;
-    self.SetX(x);
-  }
-}
diff --git a/src/test/run-pass/aux/issue_8401.rs b/src/test/run-pass/aux/issue_8401.rs
deleted file mode 100644 (file)
index 40e01c1..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// for this issue, this code must be built in a library
-
-use std::mem;
-
-trait A {
-    fn dummy(&self) { }
-}
-struct B;
-impl A for B {}
-
-fn bar<T>(_: &mut A, _: &T) {}
-
-fn foo<T>(t: &T) {
-    let mut b = B;
-    bar(&mut b as &mut A, t)
-}
diff --git a/src/test/run-pass/aux/issue_9123.rs b/src/test/run-pass/aux/issue_9123.rs
deleted file mode 100644 (file)
index 8c2546e..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-pub trait X {
-    fn x() {
-        fn f() { }
-        f();
-    }
-    fn dummy(&self) { }
-}
diff --git a/src/test/run-pass/aux/issue_9155.rs b/src/test/run-pass/aux/issue_9155.rs
deleted file mode 100644 (file)
index 486eb8f..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Foo<T>(T);
-
-impl<T> Foo<T> {
-    pub fn new(t: T) -> Foo<T> {
-        Foo(t)
-    }
-}
diff --git a/src/test/run-pass/aux/issue_9188.rs b/src/test/run-pass/aux/issue_9188.rs
deleted file mode 100644 (file)
index 8ff85cc..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn foo<T>() -> &'static isize {
-    if false {
-        static a: isize = 4;
-        return &a;
-    } else {
-        static a: isize = 5;
-        return &a;
-    }
-}
-
-pub fn bar() -> &'static isize {
-    foo::<isize>()
-}
diff --git a/src/test/run-pass/aux/kinds_in_metadata.rs b/src/test/run-pass/aux/kinds_in_metadata.rs
deleted file mode 100644 (file)
index 82f182c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Tests that metadata serialization works for the `Copy` kind.
-
-#![crate_type="lib"]
-
-pub fn f<T:Copy>() {}
diff --git a/src/test/run-pass/aux/linkage1.rs b/src/test/run-pass/aux/linkage1.rs
deleted file mode 100644 (file)
index ca4046d..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[no_mangle]
-pub static foo: isize = 3;
-
-pub fn bar() {}
diff --git a/src/test/run-pass/aux/macro-include-items-expr.rs b/src/test/run-pass/aux/macro-include-items-expr.rs
deleted file mode 100644 (file)
index aea3c74..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// ignore-test: this is not a test
-
-1
diff --git a/src/test/run-pass/aux/macro-include-items-item.rs b/src/test/run-pass/aux/macro-include-items-item.rs
deleted file mode 100644 (file)
index da72aae..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// ignore-test: this is not a test
-
-fn foo() { bar() }
diff --git a/src/test/run-pass/aux/macro_crate_def_only.rs b/src/test/run-pass/aux/macro_crate_def_only.rs
deleted file mode 100644 (file)
index 4f55ac4..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[macro_export]
-macro_rules! make_a_5 {
-    () => (5)
-}
diff --git a/src/test/run-pass/aux/macro_crate_nonterminal.rs b/src/test/run-pass/aux/macro_crate_nonterminal.rs
deleted file mode 100644 (file)
index 4f75e2b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn increment(x: usize) -> usize {
-    x + 1
-}
-
-#[macro_export]
-macro_rules! increment {
-    ($x:expr) => ($crate::increment($x))
-}
-
-pub fn check_local() {
-    assert_eq!(increment!(3), 4);
-}
diff --git a/src/test/run-pass/aux/macro_export_inner_module.rs b/src/test/run-pass/aux/macro_export_inner_module.rs
deleted file mode 100644 (file)
index 84e944f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod inner {
-    #[macro_export]
-    macro_rules! foo {
-        () => (1)
-    }
-}
diff --git a/src/test/run-pass/aux/macro_reexport_1.rs b/src/test/run-pass/aux/macro_reexport_1.rs
deleted file mode 100644 (file)
index aaeccc6..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "dylib"]
-#[macro_export]
-macro_rules! reexported {
-    () => ( 3 )
-}
diff --git a/src/test/run-pass/aux/macro_reexport_2.rs b/src/test/run-pass/aux/macro_reexport_2.rs
deleted file mode 100644 (file)
index 3918be8..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "dylib"]
-#![feature(macro_reexport)]
-
-#[macro_reexport(reexported)]
-#[macro_use] #[no_link]
-extern crate macro_reexport_1;
diff --git a/src/test/run-pass/aux/macro_reexport_2_no_use.rs b/src/test/run-pass/aux/macro_reexport_2_no_use.rs
deleted file mode 100644 (file)
index 1d3dc26..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "dylib"]
-#![feature(macro_reexport)]
-
-#[macro_reexport(reexported)]
-#[no_link]
-extern crate macro_reexport_1;
diff --git a/src/test/run-pass/aux/macro_with_super_1.rs b/src/test/run-pass/aux/macro_with_super_1.rs
deleted file mode 100644 (file)
index fd2e52b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-#[macro_export]
-macro_rules! declare {
-    () => (
-        pub fn aaa() {}
-
-        pub mod bbb {
-            use super::aaa;
-
-            pub fn ccc() {
-                aaa();
-            }
-        }
-    )
-}
diff --git a/src/test/run-pass/aux/method_self_arg1.rs b/src/test/run-pass/aux/method_self_arg1.rs
deleted file mode 100644 (file)
index 348b71f..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-#![allow(unknown_features)]
-#![feature(box_syntax)]
-
-static mut COUNT: u64 = 1;
-
-pub fn get_count() -> u64 { unsafe { COUNT } }
-
-#[derive(Copy, Clone)]
-pub struct Foo;
-
-impl Foo {
-    pub fn foo(self, x: &Foo) {
-        unsafe { COUNT *= 2; }
-        // Test internal call.
-        Foo::bar(&self);
-        Foo::bar(x);
-
-        Foo::baz(self);
-        Foo::baz(*x);
-
-        Foo::qux(box self);
-        Foo::qux(box *x);
-    }
-
-    pub fn bar(&self) {
-        unsafe { COUNT *= 3; }
-    }
-
-    pub fn baz(self) {
-        unsafe { COUNT *= 5; }
-    }
-
-    pub fn qux(self: Box<Foo>) {
-        unsafe { COUNT *= 7; }
-    }
-}
diff --git a/src/test/run-pass/aux/method_self_arg2.rs b/src/test/run-pass/aux/method_self_arg2.rs
deleted file mode 100644 (file)
index b67ec1b..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-#![allow(unknown_features)]
-#![feature(box_syntax)]
-
-static mut COUNT: u64 = 1;
-
-pub fn get_count() -> u64 { unsafe { COUNT } }
-
-#[derive(Copy, Clone)]
-pub struct Foo;
-
-impl Foo {
-    pub fn run_trait(self) {
-        unsafe { COUNT *= 17; }
-        // Test internal call.
-        Bar::foo1(&self);
-        Bar::foo2(self);
-        Bar::foo3(box self);
-
-        Bar::bar1(&self);
-        Bar::bar2(self);
-        Bar::bar3(box self);
-    }
-}
-
-pub trait Bar : Sized {
-    fn foo1(&self);
-    fn foo2(self);
-    fn foo3(self: Box<Self>);
-
-    fn bar1(&self) {
-        unsafe { COUNT *= 7; }
-    }
-    fn bar2(self) {
-        unsafe { COUNT *= 11; }
-    }
-    fn bar3(self: Box<Self>) {
-        unsafe { COUNT *= 13; }
-    }
-}
-
-impl Bar for Foo {
-    fn foo1(&self) {
-        unsafe { COUNT *= 2; }
-    }
-
-    fn foo2(self) {
-        unsafe { COUNT *= 3; }
-    }
-
-    fn foo3(self: Box<Foo>) {
-        unsafe { COUNT *= 5; }
-    }
-}
diff --git a/src/test/run-pass/aux/mir_external_refs.rs b/src/test/run-pass/aux/mir_external_refs.rs
deleted file mode 100644 (file)
index 4cad980..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-
-pub struct S(pub u8);
-
-impl S {
-    pub fn hey() -> u8 { 24 }
-}
-
-pub trait X {
-    fn hoy(&self) -> u8 { 25 }
-}
-
-impl X for S {}
-
-pub enum E {
-    U(u8)
-}
-
-pub fn regular_fn() -> u8 { 12 }
diff --git a/src/test/run-pass/aux/moves_based_on_type_lib.rs b/src/test/run-pass/aux/moves_based_on_type_lib.rs
deleted file mode 100644 (file)
index f95be3f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-pub struct S {
-    x: isize,
-}
-
-impl Drop for S {
-    fn drop(&mut self) {
-        println!("goodbye");
-    }
-}
-
-pub fn f() {
-    let x = S { x: 1 };
-    let y = x;
-    let _z = y;
-}
diff --git a/src/test/run-pass/aux/msvc-data-only-lib.rs b/src/test/run-pass/aux/msvc-data-only-lib.rs
deleted file mode 100644 (file)
index 71fb9a5..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-#![crate_type = "rlib"]
-
-pub static FOO: i32 = 42;
diff --git a/src/test/run-pass/aux/namespaced_enum_emulate_flat.rs b/src/test/run-pass/aux/namespaced_enum_emulate_flat.rs
deleted file mode 100644 (file)
index b7bde4a..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub use Foo::*;
-
-pub enum Foo {
-    A,
-    B(isize),
-    C { a: isize },
-}
-
-impl Foo {
-    pub fn foo() {}
-}
-
-pub mod nest {
-    pub use self::Bar::*;
-
-    pub enum Bar {
-        D,
-        E(isize),
-        F { a: isize },
-    }
-
-    impl Bar {
-        pub fn foo() {}
-    }
-}
diff --git a/src/test/run-pass/aux/namespaced_enums.rs b/src/test/run-pass/aux/namespaced_enums.rs
deleted file mode 100644 (file)
index 3bf39b7..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub enum Foo {
-    A,
-    B(isize),
-    C { a: isize },
-}
-
-impl Foo {
-    pub fn foo() {}
-    pub fn bar(&self) {}
-}
diff --git a/src/test/run-pass/aux/nested_item.rs b/src/test/run-pass/aux/nested_item.rs
deleted file mode 100644 (file)
index 63639c4..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// original problem
-pub fn foo<T>() -> isize {
-    {
-        static foo: isize = 2;
-        foo
-    }
-}
-
-// issue 8134
-struct Foo;
-impl Foo {
-    pub fn foo<T>(&self) {
-        static X: usize = 1;
-    }
-}
-
-// issue 8134
-pub struct Parser<T>(T);
-impl<T: std::iter::Iterator<Item=char>> Parser<T> {
-    fn in_doctype(&mut self) {
-        static DOCTYPEPattern: [char; 6] = ['O', 'C', 'T', 'Y', 'P', 'E'];
-    }
-}
-
-struct Bar;
-impl Foo {
-    pub fn bar<T>(&self) {
-        static X: usize = 1;
-    }
-}
diff --git a/src/test/run-pass/aux/newtype_struct_xc.rs b/src/test/run-pass/aux/newtype_struct_xc.rs
deleted file mode 100644 (file)
index be3414b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-pub struct Au(pub isize);
diff --git a/src/test/run-pass/aux/overloaded_autoderef_xc.rs b/src/test/run-pass/aux/overloaded_autoderef_xc.rs
deleted file mode 100644 (file)
index 3c8cba1..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use std::ops::Deref;
-
-struct DerefWithHelper<H, T> {
-    pub helper: H,
-    pub value: Option<T>
-}
-
-trait Helper<T> {
-    fn helper_borrow(&self) -> &T;
-}
-
-impl<T> Helper<T> for Option<T> {
-    fn helper_borrow(&self) -> &T {
-        self.as_ref().unwrap()
-    }
-}
-
-impl<T, H: Helper<T>> Deref for DerefWithHelper<H, T> {
-    type Target = T;
-
-    fn deref(&self) -> &T {
-        self.helper.helper_borrow()
-    }
-}
-
-// Test cross-crate autoderef + vtable.
-pub fn check<T: PartialEq>(x: T, y: T) -> bool {
-    let d: DerefWithHelper<Option<T>, T> = DerefWithHelper { helper: Some(x), value: None };
-    d.eq(&y)
-}
diff --git a/src/test/run-pass/aux/packed.rs b/src/test/run-pass/aux/packed.rs
deleted file mode 100644 (file)
index 86f5f93..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[repr(packed)]
-pub struct S {
-    a: u8,
-    b: u32
-}
diff --git a/src/test/run-pass/aux/priv-impl-prim-ty.rs b/src/test/run-pass/aux/priv-impl-prim-ty.rs
deleted file mode 100644 (file)
index 19cdede..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub trait A {
-    fn frob(&self);
-}
-
-impl A for isize { fn frob(&self) {} }
-
-pub fn frob<T:A>(t: T) {
-    t.frob();
-}
diff --git a/src/test/run-pass/aux/privacy_reexport.rs b/src/test/run-pass/aux/privacy_reexport.rs
deleted file mode 100644 (file)
index fd97f21..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub extern crate core;
-pub use foo as bar;
-
-pub mod foo {
-    pub fn frob() {}
-}
diff --git a/src/test/run-pass/aux/pub_use_mods_xcrate.rs b/src/test/run-pass/aux/pub_use_mods_xcrate.rs
deleted file mode 100644 (file)
index e4890f4..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod a {
-    pub use a::b::c;
-
-    pub mod b {
-        pub mod c {
-            fn f(){}
-            fn g(){}
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/pub_use_xcrate1.rs b/src/test/run-pass/aux/pub_use_xcrate1.rs
deleted file mode 100644 (file)
index 41aafd6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Foo {
-    pub name: isize
-}
diff --git a/src/test/run-pass/aux/pub_use_xcrate2.rs b/src/test/run-pass/aux/pub_use_xcrate2.rs
deleted file mode 100644 (file)
index d59d7f2..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-extern crate pub_use_xcrate1;
-
-pub use pub_use_xcrate1::Foo;
diff --git a/src/test/run-pass/aux/reachable-unnameable-items.rs b/src/test/run-pass/aux/reachable-unnameable-items.rs
deleted file mode 100644 (file)
index 7ec2bb9..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use inner_private_module::*;
-
-mod inner_private_module {
-    pub struct Unnameable1;
-    pub struct Unnameable2;
-    #[derive(Clone, Copy)]
-    pub struct Unnameable3;
-    pub struct Unnameable4;
-    pub struct Unnameable5;
-    pub struct Unnameable6;
-    pub struct Unnameable7;
-    #[derive(Default)]
-    pub struct Unnameable8;
-    pub enum UnnameableEnum {
-        NameableVariant
-    }
-    pub trait UnnameableTrait {
-        type Alias: Default;
-    }
-
-    impl Unnameable1 {
-        pub fn method_of_unnameable_type1(&self) -> &'static str {
-            "Hello1"
-        }
-    }
-    impl Unnameable2 {
-        pub fn method_of_unnameable_type2(&self) -> &'static str {
-            "Hello2"
-        }
-    }
-    impl Unnameable3 {
-        pub fn method_of_unnameable_type3(&self) -> &'static str {
-            "Hello3"
-        }
-    }
-    impl Unnameable4 {
-        pub fn method_of_unnameable_type4(&self) -> &'static str {
-            "Hello4"
-        }
-    }
-    impl Unnameable5 {
-        pub fn method_of_unnameable_type5(&self) -> &'static str {
-            "Hello5"
-        }
-    }
-    impl Unnameable6 {
-        pub fn method_of_unnameable_type6(&self) -> &'static str {
-            "Hello6"
-        }
-    }
-    impl Unnameable7 {
-        pub fn method_of_unnameable_type7(&self) -> &'static str {
-            "Hello7"
-        }
-    }
-    impl Unnameable8 {
-        pub fn method_of_unnameable_type8(&self) -> &'static str {
-            "Hello8"
-        }
-    }
-    impl UnnameableEnum {
-        pub fn method_of_unnameable_enum(&self) -> &'static str {
-            "HelloEnum"
-        }
-    }
-}
-
-pub fn function_returning_unnameable_type() -> Unnameable1 {
-    Unnameable1
-}
-
-pub const CONSTANT_OF_UNNAMEABLE_TYPE: Unnameable2 =
-                                            Unnameable2;
-
-pub fn function_accepting_unnameable_type(_: Option<Unnameable3>) {}
-
-pub type AliasOfUnnameableType = Unnameable4;
-
-impl Unnameable1 {
-    pub fn inherent_method_returning_unnameable_type(&self) -> Unnameable5 {
-        Unnameable5
-    }
-}
-
-pub trait Tr {
-    fn trait_method_returning_unnameable_type(&self) -> Unnameable6 {
-        Unnameable6
-    }
-}
-impl Tr for Unnameable1 {}
-
-pub use inner_private_module::UnnameableEnum::NameableVariant;
-
-pub struct Struct {
-    pub field_of_unnameable_type: Unnameable7
-}
-
-pub static STATIC: Struct = Struct { field_of_unnameable_type: Unnameable7 } ;
-
-impl UnnameableTrait for AliasOfUnnameableType {
-    type Alias = Unnameable8;
-}
-
-pub fn generic_function<T: UnnameableTrait>() -> T::Alias {
-    Default::default()
-}
diff --git a/src/test/run-pass/aux/reexport-should-still-link.rs b/src/test/run-pass/aux/reexport-should-still-link.rs
deleted file mode 100644 (file)
index 9d5464e..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub use foo::bar;
-
-mod foo {
-    pub fn bar() {}
-}
diff --git a/src/test/run-pass/aux/reexported_static_methods.rs b/src/test/run-pass/aux/reexported_static_methods.rs
deleted file mode 100644 (file)
index cc4db1a..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub use sub_foo::Foo;
-pub use self::Bar as Baz;
-pub use sub_foo::Boz;
-pub use sub_foo::Bort;
-
-pub trait Bar {
-    fn bar() -> Self;
-}
-
-impl Bar for isize {
-    fn bar() -> isize { 84 }
-}
-
-pub mod sub_foo {
-    pub trait Foo {
-        fn foo() -> Self;
-    }
-
-    impl Foo for isize {
-        fn foo() -> isize { 42 }
-    }
-
-    pub struct Boz {
-        unused_str: String
-    }
-
-    impl Boz {
-        pub fn boz(i: isize) -> bool {
-            i > 0
-        }
-    }
-
-    pub enum Bort {
-        Bort1,
-        Bort2
-    }
-
-    impl Bort {
-        pub fn bort() -> String {
-            "bort()".to_string()
-        }
-    }
-}
diff --git a/src/test/run-pass/aux/sepcomp-extern-lib.rs b/src/test/run-pass/aux/sepcomp-extern-lib.rs
deleted file mode 100644 (file)
index 72f1f73..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[no_mangle]
-pub extern "C" fn foo() -> usize {
-    1234
-}
diff --git a/src/test/run-pass/aux/sepcomp_cci_lib.rs b/src/test/run-pass/aux/sepcomp_cci_lib.rs
deleted file mode 100644 (file)
index c57d161..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[inline]
-pub fn cci_fn() -> usize {
-    1200
-}
-
-pub const CCI_CONST: usize = 34;
diff --git a/src/test/run-pass/aux/sepcomp_lib.rs b/src/test/run-pass/aux/sepcomp_lib.rs
deleted file mode 100644 (file)
index 9aa16fb..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -C codegen-units=3 --crate-type=rlib,dylib
-
-pub mod a {
-    pub fn one() -> usize {
-        1
-    }
-}
-
-pub mod b {
-    pub fn two() -> usize {
-        2
-    }
-}
-
-pub mod c {
-    use a::one;
-    use b::two;
-    pub fn three() -> usize {
-        one() + two()
-    }
-}
diff --git a/src/test/run-pass/aux/static-function-pointer-aux.rs b/src/test/run-pass/aux/static-function-pointer-aux.rs
deleted file mode 100644 (file)
index 2ccdb4e..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-
-pub fn f(x: isize) -> isize { -x }
-
-pub static F: fn(isize) -> isize = f;
-pub static mut MutF: fn(isize) -> isize = f;
diff --git a/src/test/run-pass/aux/static-methods-crate.rs b/src/test/run-pass/aux/static-methods-crate.rs
deleted file mode 100644 (file)
index b8fd59b..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="static_methods_crate"]
-#![crate_type = "lib"]
-
-pub trait read: Sized {
-    fn readMaybe(s: String) -> Option<Self>;
-}
-
-impl read for isize {
-    fn readMaybe(s: String) -> Option<isize> {
-        s.parse().ok()
-    }
-}
-
-impl read for bool {
-    fn readMaybe(s: String) -> Option<bool> {
-        match &*s {
-          "true" => Some(true),
-          "false" => Some(false),
-          _ => None
-        }
-    }
-}
-
-pub fn read<T:read>(s: String) -> T {
-    match read::readMaybe(s) {
-      Some(x) => x,
-      _ => panic!("read panicked!")
-    }
-}
diff --git a/src/test/run-pass/aux/static_fn_inline_xc_aux.rs b/src/test/run-pass/aux/static_fn_inline_xc_aux.rs
deleted file mode 100644 (file)
index 2193e12..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-
-pub mod num {
-    pub trait Num2 {
-        fn from_int2(n: isize) -> Self;
-    }
-}
-
-pub mod f64 {
-    impl ::num::Num2 for f64 {
-        #[inline]
-        fn from_int2(n: isize) -> f64 { return n as f64;  }
-    }
-}
diff --git a/src/test/run-pass/aux/static_fn_trait_xc_aux.rs b/src/test/run-pass/aux/static_fn_trait_xc_aux.rs
deleted file mode 100644 (file)
index 44e875f..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod num {
-    pub trait Num2 {
-        fn from_int2(n: isize) -> Self;
-    }
-}
-
-pub mod f64 {
-    impl ::num::Num2 for f64 {
-        fn from_int2(n: isize) -> f64 { return n as f64;  }
-    }
-}
diff --git a/src/test/run-pass/aux/static_mut_xc.rs b/src/test/run-pass/aux/static_mut_xc.rs
deleted file mode 100644 (file)
index 9d677e3..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub static mut a: isize = 3;
diff --git a/src/test/run-pass/aux/struct_destructuring_cross_crate.rs b/src/test/run-pass/aux/struct_destructuring_cross_crate.rs
deleted file mode 100644 (file)
index 26941b7..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-pub struct S {
-    pub x: isize,
-    pub y: isize,
-}
diff --git a/src/test/run-pass/aux/struct_variant_xc_aux.rs b/src/test/run-pass/aux/struct_variant_xc_aux.rs
deleted file mode 100644 (file)
index 201f028..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="struct_variant_xc_aux"]
-#![crate_type = "lib"]
-
-#[derive(Copy, Clone)]
-pub enum Enum {
-    Variant(u8),
-    StructVariant { arg: u8 }
-}
diff --git a/src/test/run-pass/aux/svh-a-base.rs b/src/test/run-pass/aux/svh-a-base.rs
deleted file mode 100644 (file)
index 31a97f6..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : isize = 2;
-
-pub fn foo<T:U>(_: isize) -> isize {
-    3
-}
-
-pub fn an_unused_name() -> isize {
-    4
-}
diff --git a/src/test/run-pass/aux/svh-a-comment.rs b/src/test/run-pass/aux/svh-a-comment.rs
deleted file mode 100644 (file)
index 22e4082..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : isize = 2;
-
-pub fn foo<T:U>(_: isize) -> isize {
-    // a comment does not affect the svh
-    3
-}
-
-pub fn an_unused_name() -> isize {
-    4
-}
diff --git a/src/test/run-pass/aux/svh-a-doc.rs b/src/test/run-pass/aux/svh-a-doc.rs
deleted file mode 100644 (file)
index 3d8a728..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : isize = 2;
-
-// Adding some documentation does not affect the svh.
-
-/// foo always returns three.
-pub fn foo<T:U>(_: isize) -> isize {
-    3
-}
-
-pub fn an_unused_name() -> isize {
-    4
-}
diff --git a/src/test/run-pass/aux/svh-a-macro.rs b/src/test/run-pass/aux/svh-a-macro.rs
deleted file mode 100644 (file)
index 41d7eb7..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : isize = 2;
-
-pub fn foo<T:U>(_: isize) -> isize {
-    // a macro invocation in a function body does not affect the svh,
-    // as long as it yields the same code.
-    three!()
-}
-
-pub fn an_unused_name() -> isize {
-    4
-}
diff --git a/src/test/run-pass/aux/svh-a-no-change.rs b/src/test/run-pass/aux/svh-a-no-change.rs
deleted file mode 100644 (file)
index 31a97f6..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : isize = 2;
-
-pub fn foo<T:U>(_: isize) -> isize {
-    3
-}
-
-pub fn an_unused_name() -> isize {
-    4
-}
diff --git a/src/test/run-pass/aux/svh-a-redundant-cfg.rs b/src/test/run-pass/aux/svh-a-redundant-cfg.rs
deleted file mode 100644 (file)
index e405c33..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : isize = 2;
-
-// cfg attribute does not affect the svh, as long as it yields the same code.
-#[cfg(not(an_unused_name))]
-pub fn foo<T:U>(_: isize) -> isize {
-    3
-}
-
-pub fn an_unused_name() -> isize {
-    4
-}
diff --git a/src/test/run-pass/aux/svh-a-whitespace.rs b/src/test/run-pass/aux/svh-a-whitespace.rs
deleted file mode 100644 (file)
index 9ef788c..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! The `svh-a-*.rs` files are all deviations from the base file
-//! svh-a-base.rs with some difference (usually in `fn foo`) that
-//! should not affect the strict version hash (SVH) computation
-//! (#14132).
-
-#![crate_name = "a"]
-
-macro_rules! three {
-    () => { 3 }
-}
-
-pub trait U {}
-pub trait V {}
-impl U for () {}
-impl V for () {}
-
-static A_CONSTANT : isize = 2;
-
-pub fn foo<T:U>(_: isize) -> isize {
-
-    3
-
-}
-
-pub fn an_unused_name() -> isize {
-    4
-}
diff --git a/src/test/run-pass/aux/svh-b.rs b/src/test/run-pass/aux/svh-b.rs
deleted file mode 100644 (file)
index b8946fd..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! This is a client of the `a` crate defined in "svn-a-base.rs".  The
-//! rpass and cfail tests (such as "run-pass/svh-add-comment.rs") use
-//! it by swapping in a different object code library crate built from
-//! some variant of "svn-a-base.rs", and then we are checking if the
-//! compiler properly ignores or accepts the change, based on whether
-//! the change could affect the downstream crate content or not
-//! (#14132).
-
-#![crate_name = "b"]
-
-extern crate a;
-
-pub fn foo() { assert_eq!(a::foo::<()>(0), 3); }
diff --git a/src/test/run-pass/aux/thread-local-extern-static.rs b/src/test/run-pass/aux/thread-local-extern-static.rs
deleted file mode 100644 (file)
index d1971a5..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(thread_local)]
-#![feature(cfg_target_thread_local)]
-#![crate_type = "lib"]
-
-#[no_mangle]
-#[cfg_attr(target_thread_local, thread_local)]
-pub static FOO: u32 = 3;
diff --git a/src/test/run-pass/aux/trait_default_method_xc_aux.rs b/src/test/run-pass/aux/trait_default_method_xc_aux.rs
deleted file mode 100644 (file)
index c1168a9..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Something { pub x: isize }
-
-pub trait A {
-    fn f(&self) -> isize;
-    fn g(&self) -> isize { 10 }
-    fn h(&self) -> isize { 11 }
-    fn lurr(x: &Self, y: &Self) -> isize { x.g() + y.h() }
-}
-
-
-impl A for isize {
-    fn f(&self) -> isize { 10 }
-}
-
-impl A for Something {
-    fn f(&self) -> isize { 10 }
-}
-
-pub trait B<T> {
-    fn thing<U>(&self, x: T, y: U) -> (T, U) { (x, y) }
-    fn staticthing<U>(_z: &Self, x: T, y: U) -> (T, U) { (x, y) }
-}
-
-impl<T> B<T> for isize { }
-impl B<f64> for bool { }
-
-
-
-pub trait TestEquality {
-    fn test_eq(&self, rhs: &Self) -> bool;
-    fn test_neq(&self, rhs: &Self) -> bool {
-        !self.test_eq(rhs)
-    }
-}
-
-impl TestEquality for isize {
-    fn test_eq(&self, rhs: &isize) -> bool {
-        *self == *rhs
-    }
-}
diff --git a/src/test/run-pass/aux/trait_default_method_xc_aux_2.rs b/src/test/run-pass/aux/trait_default_method_xc_aux_2.rs
deleted file mode 100644 (file)
index 7443ef9..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// aux-build:trait_default_method_xc_aux.rs
-
-extern crate trait_default_method_xc_aux as aux;
-use aux::A;
-
-pub struct a_struct { pub x: isize }
-
-impl A for a_struct {
-    fn f(&self) -> isize { 10 }
-}
-
-// This function will need to get inlined, and badness may result.
-pub fn welp<A>(x: A) -> A {
-    let a = a_struct { x: 0 };
-    a.g();
-    x
-}
diff --git a/src/test/run-pass/aux/trait_inheritance_auto_xc_2_aux.rs b/src/test/run-pass/aux/trait_inheritance_auto_xc_2_aux.rs
deleted file mode 100644 (file)
index af0128d..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub trait Foo { fn f(&self) -> isize; }
-pub trait Bar { fn g(&self) -> isize; }
-pub trait Baz { fn h(&self) -> isize; }
-
-pub struct A { pub x: isize }
-
-impl Foo for A { fn f(&self) -> isize { 10 } }
-impl Bar for A { fn g(&self) -> isize { 20 } }
-impl Baz for A { fn h(&self) -> isize { 30 } }
diff --git a/src/test/run-pass/aux/trait_inheritance_auto_xc_aux.rs b/src/test/run-pass/aux/trait_inheritance_auto_xc_aux.rs
deleted file mode 100644 (file)
index 6be1f8c..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub trait Foo { fn f(&self) -> isize; }
-pub trait Bar { fn g(&self) -> isize; }
-pub trait Baz { fn h(&self) -> isize; }
-
-pub trait Quux: Foo + Bar + Baz { }
-
-impl<T:Foo + Bar + Baz> Quux for T { }
diff --git a/src/test/run-pass/aux/trait_inheritance_cross_trait_call_xc_aux.rs b/src/test/run-pass/aux/trait_inheritance_cross_trait_call_xc_aux.rs
deleted file mode 100644 (file)
index 9eeb815..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-
-pub trait Foo {
-    fn f(&self) -> isize;
-}
-
-pub struct A {
-    pub x: isize
-}
-
-impl Foo for A {
-    fn f(&self) -> isize { 10 }
-}
diff --git a/src/test/run-pass/aux/trait_inheritance_overloading_xc.rs b/src/test/run-pass/aux/trait_inheritance_overloading_xc.rs
deleted file mode 100644 (file)
index 1bfada6..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use std::cmp::PartialEq;
-use std::ops::{Add, Sub, Mul};
-
-pub trait MyNum : Add<Output=Self> + Sub<Output=Self> + Mul<Output=Self> + PartialEq + Clone {
-}
-
-#[derive(Clone, Debug)]
-pub struct MyInt {
-    pub val: isize
-}
-
-impl Add for MyInt {
-    type Output = MyInt;
-
-    fn add(self, other: MyInt) -> MyInt { mi(self.val + other.val) }
-}
-
-impl Sub for MyInt {
-    type Output = MyInt;
-
-    fn sub(self, other: MyInt) -> MyInt { mi(self.val - other.val) }
-}
-
-impl Mul for MyInt {
-    type Output = MyInt;
-
-    fn mul(self, other: MyInt) -> MyInt { mi(self.val * other.val) }
-}
-
-impl PartialEq for MyInt {
-    fn eq(&self, other: &MyInt) -> bool { self.val == other.val }
-
-    fn ne(&self, other: &MyInt) -> bool { !self.eq(other) }
-}
-
-impl MyNum for MyInt {}
-
-fn mi(v: isize) -> MyInt { MyInt { val: v } }
diff --git a/src/test/run-pass/aux/trait_safety_lib.rs b/src/test/run-pass/aux/trait_safety_lib.rs
deleted file mode 100644 (file)
index 585a756..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// Simple smoke test that unsafe traits can be compiled etc.
-
-pub unsafe trait Foo {
-    fn foo(&self) -> isize;
-}
-
-unsafe impl Foo for isize {
-    fn foo(&self) -> isize { *self }
-}
diff --git a/src/test/run-pass/aux/trait_superkinds_in_metadata.rs b/src/test/run-pass/aux/trait_superkinds_in_metadata.rs
deleted file mode 100644 (file)
index 0fa2d34..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// Test library crate for cross-crate usages of traits inheriting
-// from the builtin kinds. Mostly tests metadata correctness.
-
-#![crate_type="lib"]
-
-pub trait RequiresShare : Sync { }
-pub trait RequiresRequiresShareAndSend : RequiresShare + Send { }
-pub trait RequiresCopy : Copy { }
diff --git a/src/test/run-pass/aux/traitimpl.rs b/src/test/run-pass/aux/traitimpl.rs
deleted file mode 100644 (file)
index 22e79cc..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// Test inherent trait impls work cross-crait.
-
-pub trait Bar<'a> : 'a {}
-
-impl<'a> Bar<'a> {
-    pub fn bar(&self) {}
-}
diff --git a/src/test/run-pass/aux/two_macros.rs b/src/test/run-pass/aux/two_macros.rs
deleted file mode 100644 (file)
index 060960f..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[macro_export]
-macro_rules! macro_one { () => ("one") }
-
-#[macro_export]
-macro_rules! macro_two { () => ("two") }
diff --git a/src/test/run-pass/aux/typeid-intrinsic-aux1.rs b/src/test/run-pass/aux/typeid-intrinsic-aux1.rs
deleted file mode 100644 (file)
index 388d323..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(core)]
-
-use std::any::{Any, TypeId};
-
-pub struct A;
-pub struct B(Option<A>);
-pub struct C(Option<isize>);
-pub struct D(Option<&'static str>);
-pub struct E(Result<&'static str, isize>);
-
-pub type F = Option<isize>;
-pub type G = usize;
-pub type H = &'static str;
-
-pub unsafe fn id_A() -> TypeId { TypeId::of::<A>() }
-pub unsafe fn id_B() -> TypeId { TypeId::of::<B>() }
-pub unsafe fn id_C() -> TypeId { TypeId::of::<C>() }
-pub unsafe fn id_D() -> TypeId { TypeId::of::<D>() }
-pub unsafe fn id_E() -> TypeId { TypeId::of::<E>() }
-pub unsafe fn id_F() -> TypeId { TypeId::of::<F>() }
-pub unsafe fn id_G() -> TypeId { TypeId::of::<G>() }
-pub unsafe fn id_H() -> TypeId { TypeId::of::<H>() }
-
-pub unsafe fn foo<T: Any>() -> TypeId { TypeId::of::<T>() }
diff --git a/src/test/run-pass/aux/typeid-intrinsic-aux2.rs b/src/test/run-pass/aux/typeid-intrinsic-aux2.rs
deleted file mode 100644 (file)
index 3ad307f..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(core)]
-
-use std::any::{Any, TypeId};
-
-pub struct A;
-pub struct B(Option<A>);
-pub struct C(Option<isize>);
-pub struct D(Option<&'static str>);
-pub struct E(Result<&'static str, isize>);
-
-pub type F = Option<isize>;
-pub type G = usize;
-pub type H = &'static str;
-
-pub unsafe fn id_A() -> TypeId { TypeId::of::<A>() }
-pub unsafe fn id_B() -> TypeId { TypeId::of::<B>() }
-pub unsafe fn id_C() -> TypeId { TypeId::of::<C>() }
-pub unsafe fn id_D() -> TypeId { TypeId::of::<D>() }
-pub unsafe fn id_E() -> TypeId { TypeId::of::<E>() }
-pub unsafe fn id_F() -> TypeId { TypeId::of::<F>() }
-pub unsafe fn id_G() -> TypeId { TypeId::of::<G>() }
-pub unsafe fn id_H() -> TypeId { TypeId::of::<H>() }
-
-pub unsafe fn foo<T:Any>() -> TypeId { TypeId::of::<T>() }
diff --git a/src/test/run-pass/aux/unboxed-closures-cross-crate.rs b/src/test/run-pass/aux/unboxed-closures-cross-crate.rs
deleted file mode 100644 (file)
index dac20dd..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(unboxed_closures)]
-
-use std::ops::Add;
-
-#[inline]
-pub fn has_closures() -> usize {
-    let x = 1;
-    let mut f = move || x;
-    let y = 1;
-    let g = || y;
-    f() + g()
-}
-
-pub fn has_generic_closures<T: Add<Output=T> + Copy>(x: T, y: T) -> T {
-    let mut f = move || x;
-    let g = || y;
-    f() + g()
-}
diff --git a/src/test/run-pass/aux/weak-lang-items.rs b/src/test/run-pass/aux/weak-lang-items.rs
deleted file mode 100644 (file)
index 6434e62..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// no-prefer-dynamic
-
-// This aux-file will require the eh_personality function to be codegen'd, but
-// it hasn't been defined just yet. Make sure we don't explode.
-
-#![no_std]
-#![crate_type = "rlib"]
-
-struct A;
-
-impl core::ops::Drop for A {
-    fn drop(&mut self) {}
-}
-
-pub fn foo() {
-    let _a = A;
-    panic!("wut");
-}
-
-mod std {
-    pub use core::{option, fmt};
-}
diff --git a/src/test/run-pass/aux/where_clauses_xc.rs b/src/test/run-pass/aux/where_clauses_xc.rs
deleted file mode 100644 (file)
index 4549bd7..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub trait Equal {
-    fn equal(&self, other: &Self) -> bool;
-    fn equals<T,U>(&self, this: &T, that: &T, x: &U, y: &U) -> bool
-            where T: Eq, U: Eq;
-}
-
-impl<T> Equal for T where T: Eq {
-    fn equal(&self, other: &T) -> bool {
-        self == other
-    }
-    fn equals<U,X>(&self, this: &U, other: &U, x: &X, y: &X) -> bool
-            where U: Eq, X: Eq {
-        this == other && x == y
-    }
-}
-
-pub fn equal<T>(x: &T, y: &T) -> bool where T: Eq {
-    x == y
-}
diff --git a/src/test/run-pass/aux/xcrate-trait-lifetime-param.rs b/src/test/run-pass/aux/xcrate-trait-lifetime-param.rs
deleted file mode 100644 (file)
index e8e5cc5..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub trait FromBuf<'a> {
-    fn from_buf(&'a [u8]) -> Self;
-}
diff --git a/src/test/run-pass/aux/xcrate_address_insignificant.rs b/src/test/run-pass/aux/xcrate_address_insignificant.rs
deleted file mode 100644 (file)
index 5195839..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn foo<T>() -> isize {
-    static a: isize = 3;
-    a
-}
-
-pub fn bar() -> isize {
-    foo::<isize>()
-}
diff --git a/src/test/run-pass/aux/xcrate_associated_type_defaults.rs b/src/test/run-pass/aux/xcrate_associated_type_defaults.rs
deleted file mode 100644 (file)
index 6779438..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(associated_type_defaults)]
-
-pub trait Foo<T: Default + ToString> {
-    type Out: Default + ToString = T;
-}
-
-impl Foo<u32> for () {
-}
-
-impl Foo<u64> for () {
-    type Out = bool;
-}
diff --git a/src/test/run-pass/aux/xcrate_static_addresses.rs b/src/test/run-pass/aux/xcrate_static_addresses.rs
deleted file mode 100644 (file)
index d0da80e..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub static global: isize = 3;
-
-static global0: isize = 4;
-
-pub static global2: &'static isize = &global0;
-
-pub fn verify_same(a: &'static isize) {
-    let a = a as *const isize as usize;
-    let b = &global as *const isize as usize;
-    assert_eq!(a, b);
-}
-
-pub fn verify_same2(a: &'static isize) {
-    let a = a as *const isize as usize;
-    let b = global2 as *const isize as usize;
-    assert_eq!(a, b);
-}
diff --git a/src/test/run-pass/aux/xcrate_struct_aliases.rs b/src/test/run-pass/aux/xcrate_struct_aliases.rs
deleted file mode 100644 (file)
index 334f782..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct S {
-    pub x: isize,
-    pub y: isize,
-}
-
-pub type S2 = S;
diff --git a/src/test/run-pass/aux/xcrate_unit_struct.rs b/src/test/run-pass/aux/xcrate_unit_struct.rs
deleted file mode 100644 (file)
index 7a69be2..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "lib"]
-
-// used by the rpass test
-
-#[derive(Copy, Clone)]
-pub struct Struct;
-
-#[derive(Copy, Clone)]
-pub enum Unit {
-    UnitVariant,
-    Argument(Struct)
-}
-
-#[derive(Copy, Clone)]
-pub struct TupleStruct(pub usize, pub &'static str);
-
-// used by the cfail test
-
-#[derive(Copy, Clone)]
-pub struct StructWithFields {
-    foo: isize,
-}
-
-#[derive(Copy, Clone)]
-pub enum EnumWithVariants {
-    EnumVariant,
-    EnumVariantArg(isize)
-}
diff --git a/src/test/run-pass/auxiliary/allocator-dummy.rs b/src/test/run-pass/auxiliary/allocator-dummy.rs
new file mode 100644 (file)
index 0000000..a1d21db
--- /dev/null
@@ -0,0 +1,55 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![feature(allocator, core_intrinsics, libc)]
+#![allocator]
+#![crate_type = "rlib"]
+#![no_std]
+
+extern crate libc;
+
+pub static mut HITS: usize = 0;
+
+#[no_mangle]
+pub extern fn __rust_allocate(size: usize, align: usize) -> *mut u8 {
+    unsafe {
+        HITS += 1;
+        libc::malloc(size as libc::size_t) as *mut u8
+    }
+}
+
+#[no_mangle]
+pub extern fn __rust_deallocate(ptr: *mut u8, old_size: usize, align: usize) {
+    unsafe {
+        HITS += 1;
+        libc::free(ptr as *mut _)
+    }
+}
+
+#[no_mangle]
+pub extern fn __rust_reallocate(ptr: *mut u8, old_size: usize, size: usize,
+                                align: usize) -> *mut u8 {
+    unsafe {
+        libc::realloc(ptr as *mut _, size as libc::size_t) as *mut u8
+    }
+}
+
+#[no_mangle]
+pub extern fn __rust_reallocate_inplace(ptr: *mut u8, old_size: usize,
+                                        size: usize, align: usize) -> usize {
+    unsafe { core::intrinsics::abort() }
+}
+
+#[no_mangle]
+pub extern fn __rust_usable_size(size: usize, align: usize) -> usize {
+    unsafe { core::intrinsics::abort() }
+}
diff --git a/src/test/run-pass/auxiliary/anon-extern-mod-cross-crate-1.rs b/src/test/run-pass/auxiliary/anon-extern-mod-cross-crate-1.rs
new file mode 100644 (file)
index 0000000..197fb9a
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="anonexternmod"]
+#![feature(libc)]
+
+extern crate libc;
+
+#[link(name="rust_test_helpers")]
+extern {
+    pub fn rust_get_test_int() -> libc::intptr_t;
+}
diff --git a/src/test/run-pass/auxiliary/anon_trait_static_method_lib.rs b/src/test/run-pass/auxiliary/anon_trait_static_method_lib.rs
new file mode 100644 (file)
index 0000000..9d93d96
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Foo {
+    pub x: isize
+}
+
+impl Foo {
+    pub fn new() -> Foo {
+        Foo { x: 3 }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/associated-const-cc-lib.rs b/src/test/run-pass/auxiliary/associated-const-cc-lib.rs
new file mode 100644 (file)
index 0000000..1fd8fee
--- /dev/null
@@ -0,0 +1,46 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(associated_consts)]
+
+#![crate_type="lib"]
+
+// These items are for testing that associated consts work cross-crate.
+pub trait Foo {
+    const BAR: usize;
+}
+
+pub struct FooNoDefault;
+
+impl Foo for FooNoDefault {
+    const BAR: usize = 0;
+}
+
+// These test that defaults and default resolution work cross-crate.
+pub trait FooDefault {
+    const BAR: usize = 1;
+}
+
+pub struct FooOverwriteDefault;
+
+impl FooDefault for FooOverwriteDefault {
+    const BAR: usize = 2;
+}
+
+pub struct FooUseDefault;
+
+impl FooDefault for FooUseDefault {}
+
+// Test inherent impls.
+pub struct InherentBar;
+
+impl InherentBar {
+    pub const BAR: usize = 3;
+}
diff --git a/src/test/run-pass/auxiliary/associated-types-cc-lib.rs b/src/test/run-pass/auxiliary/associated-types-cc-lib.rs
new file mode 100644 (file)
index 0000000..175e873
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Helper for test issue-18048, which tests associated types in a
+// cross-crate scenario.
+
+#![crate_type="lib"]
+
+pub trait Bar: Sized {
+    type T;
+
+    fn get(x: Option<Self>) -> <Self as Bar>::T;
+}
+
+impl Bar for isize {
+    type T = usize;
+
+    fn get(_: Option<isize>) -> usize { 22 }
+}
diff --git a/src/test/run-pass/auxiliary/augmented_assignments.rs b/src/test/run-pass/auxiliary/augmented_assignments.rs
new file mode 100644 (file)
index 0000000..6601e72
--- /dev/null
@@ -0,0 +1,18 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use std::ops::AddAssign;
+
+pub struct Int(pub i32);
+
+impl AddAssign<i32> for Int {
+    fn add_assign(&mut self, _: i32) {
+    }
+}
diff --git a/src/test/run-pass/auxiliary/blind-item-mixed-crate-use-item-foo.rs b/src/test/run-pass/auxiliary/blind-item-mixed-crate-use-item-foo.rs
new file mode 100644 (file)
index 0000000..f129b4b
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub const X: () = ();
diff --git a/src/test/run-pass/auxiliary/blind-item-mixed-crate-use-item-foo2.rs b/src/test/run-pass/auxiliary/blind-item-mixed-crate-use-item-foo2.rs
new file mode 100644 (file)
index 0000000..91fa912
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub const Y: () = ();
diff --git a/src/test/run-pass/auxiliary/cci_borrow_lib.rs b/src/test/run-pass/auxiliary/cci_borrow_lib.rs
new file mode 100644 (file)
index 0000000..9c90510
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub fn foo(x: &usize) -> usize {
+    *x
+}
diff --git a/src/test/run-pass/auxiliary/cci_capture_clause.rs b/src/test/run-pass/auxiliary/cci_capture_clause.rs
new file mode 100644 (file)
index 0000000..b38e955
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use std::thread;
+use std::sync::mpsc::{Receiver, channel};
+
+pub fn foo<T:'static + Send + Clone>(x: T) -> Receiver<T> {
+    let (tx, rx) = channel();
+    thread::spawn(move|| {
+        tx.send(x.clone());
+    });
+    rx
+}
diff --git a/src/test/run-pass/auxiliary/cci_class.rs b/src/test/run-pass/auxiliary/cci_class.rs
new file mode 100644 (file)
index 0000000..08a13fd
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod kitties {
+    pub struct cat {
+      meows : usize,
+
+      pub how_hungry : isize,
+    }
+
+    pub fn cat(in_x : usize, in_y : isize) -> cat  {
+        cat {
+            meows: in_x,
+            how_hungry: in_y
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/cci_class_2.rs b/src/test/run-pass/auxiliary/cci_class_2.rs
new file mode 100644 (file)
index 0000000..7d14783
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod kitties {
+    pub struct cat {
+      meows : usize,
+
+      pub how_hungry : isize,
+
+    }
+
+    impl cat {
+        pub fn speak(&self) {}
+    }
+
+    pub fn cat(in_x : usize, in_y : isize) -> cat {
+        cat {
+            meows: in_x,
+            how_hungry: in_y
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/cci_class_3.rs b/src/test/run-pass/auxiliary/cci_class_3.rs
new file mode 100644 (file)
index 0000000..ec1bf10
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod kitties {
+    pub struct cat {
+        meows : usize,
+
+        pub how_hungry : isize,
+    }
+
+    impl cat {
+        pub fn speak(&mut self) { self.meows += 1; }
+        pub fn meow_count(&mut self) -> usize { self.meows }
+    }
+
+    pub fn cat(in_x : usize, in_y : isize) -> cat {
+        cat {
+            meows: in_x,
+            how_hungry: in_y
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/cci_class_4.rs b/src/test/run-pass/auxiliary/cci_class_4.rs
new file mode 100644 (file)
index 0000000..300cc31
--- /dev/null
@@ -0,0 +1,51 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod kitties {
+    pub struct cat {
+        meows : usize,
+
+        pub how_hungry : isize,
+        pub name : String,
+    }
+
+    impl cat {
+        pub fn speak(&mut self) { self.meow(); }
+
+        pub fn eat(&mut self) -> bool {
+            if self.how_hungry > 0 {
+                println!("OM NOM NOM");
+                self.how_hungry -= 2;
+                return true;
+            } else {
+                println!("Not hungry!");
+                return false;
+            }
+        }
+    }
+
+    impl cat {
+        pub fn meow(&mut self) {
+            println!("Meow");
+            self.meows += 1;
+            if self.meows % 5 == 0 {
+                self.how_hungry += 1;
+            }
+        }
+    }
+
+    pub fn cat(in_x : usize, in_y : isize, in_name: String) -> cat {
+        cat {
+            meows: in_x,
+            how_hungry: in_y,
+            name: in_name
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/cci_class_6.rs b/src/test/run-pass/auxiliary/cci_class_6.rs
new file mode 100644 (file)
index 0000000..c902a6c
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod kitties {
+
+    pub struct cat<U> {
+        info : Vec<U> ,
+        meows : usize,
+
+        pub how_hungry : isize,
+    }
+
+    impl<U> cat<U> {
+        pub fn speak<T>(&mut self, stuff: Vec<T> ) {
+            self.meows += stuff.len();
+        }
+
+        pub fn meow_count(&mut self) -> usize { self.meows }
+    }
+
+    pub fn cat<U>(in_x : usize, in_y : isize, in_info: Vec<U> ) -> cat<U> {
+        cat {
+            meows: in_x,
+            how_hungry: in_y,
+            info: in_info
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/cci_class_cast.rs b/src/test/run-pass/auxiliary/cci_class_cast.rs
new file mode 100644 (file)
index 0000000..f54a39d
--- /dev/null
@@ -0,0 +1,60 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod kitty {
+    use std::fmt;
+
+    pub struct cat {
+      meows : usize,
+      pub how_hungry : isize,
+      pub name : String,
+    }
+
+    impl fmt::Display for cat {
+        fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+            write!(f, "{}", self.name)
+        }
+    }
+
+    impl cat {
+        fn meow(&mut self) {
+            println!("Meow");
+            self.meows += 1;
+            if self.meows % 5 == 0 {
+                self.how_hungry += 1;
+            }
+        }
+
+    }
+
+    impl cat {
+        pub fn speak(&mut self) { self.meow(); }
+
+        pub fn eat(&mut self) -> bool {
+            if self.how_hungry > 0 {
+                println!("OM NOM NOM");
+                self.how_hungry -= 2;
+                return true;
+            }
+            else {
+                println!("Not hungry!");
+                return false;
+            }
+        }
+    }
+
+    pub fn cat(in_x : usize, in_y : isize, in_name: String) -> cat {
+        cat {
+            meows: in_x,
+            how_hungry: in_y,
+            name: in_name
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/cci_class_trait.rs b/src/test/run-pass/auxiliary/cci_class_trait.rs
new file mode 100644 (file)
index 0000000..7ca3d7c
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod animals {
+    pub trait noisy {
+        fn speak(&mut self);
+    }
+}
diff --git a/src/test/run-pass/auxiliary/cci_const.rs b/src/test/run-pass/auxiliary/cci_const.rs
new file mode 100644 (file)
index 0000000..ee82900
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub extern fn bar() {
+}
+
+pub const foopy: &'static str = "hi there";
+pub const uint_val: usize = 12;
+pub const uint_expr: usize = (1 << uint_val) - 1;
diff --git a/src/test/run-pass/auxiliary/cci_const_block.rs b/src/test/run-pass/auxiliary/cci_const_block.rs
new file mode 100644 (file)
index 0000000..76fe9fe
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub static BLOCK_FN_DEF: fn(usize) -> usize = {
+    fn foo(a: usize) -> usize {
+        a + 10
+    }
+    foo
+};
diff --git a/src/test/run-pass/auxiliary/cci_impl_lib.rs b/src/test/run-pass/auxiliary/cci_impl_lib.rs
new file mode 100644 (file)
index 0000000..d8921f4
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="cci_impl_lib"]
+
+pub trait uint_helpers {
+    fn to<F>(&self, v: usize, f: F) where F: FnMut(usize);
+}
+
+impl uint_helpers for usize {
+    #[inline]
+    fn to<F>(&self, v: usize, mut f: F) where F: FnMut(usize) {
+        let mut i = *self;
+        while i < v {
+            f(i);
+            i += 1;
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/cci_intrinsic.rs b/src/test/run-pass/auxiliary/cci_intrinsic.rs
new file mode 100644 (file)
index 0000000..b6e69d2
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(intrinsics)]
+
+pub mod rusti {
+    extern "rust-intrinsic" {
+        pub fn atomic_xchg<T>(dst: *mut T, src: T) -> T;
+    }
+}
+
+#[inline(always)]
+pub fn atomic_xchg(dst: *mut isize, src: isize) -> isize {
+    unsafe {
+        rusti::atomic_xchg(dst, src)
+    }
+}
diff --git a/src/test/run-pass/auxiliary/cci_iter_lib.rs b/src/test/run-pass/auxiliary/cci_iter_lib.rs
new file mode 100644 (file)
index 0000000..07d03b4
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="cci_iter_lib"]
+
+#[inline]
+pub fn iter<T, F>(v: &[T], mut f: F) where F: FnMut(&T) {
+    let mut i = 0;
+    let n = v.len();
+    while i < n {
+        f(&v[i]);
+        i += 1;
+    }
+}
diff --git a/src/test/run-pass/auxiliary/cci_nested_lib.rs b/src/test/run-pass/auxiliary/cci_nested_lib.rs
new file mode 100644 (file)
index 0000000..8c1a283
--- /dev/null
@@ -0,0 +1,63 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![allow(unknown_features)]
+#![feature(box_syntax)]
+
+use std::cell::RefCell;
+
+pub struct Entry<A,B> {
+    key: A,
+    value: B
+}
+
+pub struct alist<A,B> {
+    eq_fn: extern "Rust" fn(A,A) -> bool,
+    data: Box<RefCell<Vec<Entry<A,B>>>>,
+}
+
+pub fn alist_add<A:'static,B:'static>(lst: &alist<A,B>, k: A, v: B) {
+    let mut data = lst.data.borrow_mut();
+    (*data).push(Entry{key:k, value:v});
+}
+
+pub fn alist_get<A:Clone + 'static,
+                 B:Clone + 'static>(
+                 lst: &alist<A,B>,
+                 k: A)
+                 -> B {
+    let eq_fn = lst.eq_fn;
+    let data = lst.data.borrow();
+    for entry in &(*data) {
+        if eq_fn(entry.key.clone(), k.clone()) {
+            return entry.value.clone();
+        }
+    }
+    panic!();
+}
+
+#[inline]
+pub fn new_int_alist<B:'static>() -> alist<isize, B> {
+    fn eq_int(a: isize, b: isize) -> bool { a == b }
+    return alist {
+        eq_fn: eq_int,
+        data: box RefCell::new(Vec::new()),
+    };
+}
+
+#[inline]
+pub fn new_int_alist_2<B:'static>() -> alist<isize, B> {
+    #[inline]
+    fn eq_int(a: isize, b: isize) -> bool { a == b }
+    return alist {
+        eq_fn: eq_int,
+        data: box RefCell::new(Vec::new()),
+    };
+}
diff --git a/src/test/run-pass/auxiliary/cci_no_inline_lib.rs b/src/test/run-pass/auxiliary/cci_no_inline_lib.rs
new file mode 100644 (file)
index 0000000..4c6f808
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="cci_no_inline_lib"]
+
+
+// same as cci_iter_lib, more-or-less, but not marked inline
+pub fn iter<F>(v: Vec<usize> , mut f: F) where F: FnMut(usize) {
+    let mut i = 0;
+    let n = v.len();
+    while i < n {
+        f(v[i]);
+        i += 1;
+    }
+}
diff --git a/src/test/run-pass/auxiliary/cfg_inner_static.rs b/src/test/run-pass/auxiliary/cfg_inner_static.rs
new file mode 100644 (file)
index 0000000..b5b4390
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// this used to just ICE on compiling
+pub fn foo() {
+    if cfg!(foo) {
+        static a: isize = 3;
+        a
+    } else { 3 };
+}
diff --git a/src/test/run-pass/auxiliary/cgu_test.rs b/src/test/run-pass/auxiliary/cgu_test.rs
new file mode 100644 (file)
index 0000000..7c88d3d
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+// compile-flags: --crate-type=lib
+
+pub fn id<T>(t: T) -> T {
+  t
+}
diff --git a/src/test/run-pass/auxiliary/cgu_test_a.rs b/src/test/run-pass/auxiliary/cgu_test_a.rs
new file mode 100644 (file)
index 0000000..0f0d1cd
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+// compile-flags: -Ccodegen-units=2 --crate-type=lib
+
+extern crate cgu_test;
+
+pub mod a {
+    pub fn a() {
+        ::cgu_test::id(0);
+    }
+}
+pub mod b {
+    pub fn a() {
+        ::cgu_test::id(0);
+    }
+}
diff --git a/src/test/run-pass/auxiliary/cgu_test_b.rs b/src/test/run-pass/auxiliary/cgu_test_b.rs
new file mode 100644 (file)
index 0000000..0f0d1cd
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+// compile-flags: -Ccodegen-units=2 --crate-type=lib
+
+extern crate cgu_test;
+
+pub mod a {
+    pub fn a() {
+        ::cgu_test::id(0);
+    }
+}
+pub mod b {
+    pub fn a() {
+        ::cgu_test::id(0);
+    }
+}
diff --git a/src/test/run-pass/auxiliary/check_static_recursion_foreign_helper.rs b/src/test/run-pass/auxiliary/check_static_recursion_foreign_helper.rs
new file mode 100644 (file)
index 0000000..c0d81cd
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Helper definition for test/run-pass/check-static-recursion-foreign.rs.
+
+#![feature(libc)]
+
+#[crate_id = "check_static_recursion_foreign_helper"]
+#[crate_type = "lib"]
+
+extern crate libc;
+
+#[no_mangle]
+pub static test_static: libc::c_int = 0;
diff --git a/src/test/run-pass/auxiliary/coherence_copy_like_lib.rs b/src/test/run-pass/auxiliary/coherence_copy_like_lib.rs
new file mode 100644 (file)
index 0000000..d3d389c
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "rlib"]
+#![feature(fundamental)]
+
+pub trait MyCopy { }
+impl MyCopy for i32 { }
+
+pub struct MyStruct<T>(T);
+
+#[fundamental]
+pub struct MyFundamentalStruct<T>(T);
diff --git a/src/test/run-pass/auxiliary/coherence_lib.rs b/src/test/run-pass/auxiliary/coherence_lib.rs
new file mode 100644 (file)
index 0000000..daa1238
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub trait Remote {
+    fn foo(&self) { }
+}
+
+pub trait Remote1<T> {
+    fn foo(&self, t: T) { }
+}
+
+pub trait Remote2<T, U> {
+    fn foo(&self, t: T, u: U) { }
+}
+
+pub struct Pair<T,U>(T,U);
diff --git a/src/test/run-pass/auxiliary/const_fn_lib.rs b/src/test/run-pass/auxiliary/const_fn_lib.rs
new file mode 100644 (file)
index 0000000..b0d5a6b
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Crate that exports a const fn. Used for testing cross-crate.
+
+#![crate_type="rlib"]
+#![feature(const_fn)]
+
+pub const fn foo() -> usize { 22 } //~ ERROR const fn is unstable
diff --git a/src/test/run-pass/auxiliary/crate-attributes-using-cfg_attr.rs b/src/test/run-pass/auxiliary/crate-attributes-using-cfg_attr.rs
new file mode 100644 (file)
index 0000000..0028b51
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+// compile-flags: --cfg foo
+
+#![cfg_attr(foo, crate_type="lib")]
+
+pub fn foo() {}
diff --git a/src/test/run-pass/auxiliary/crate-method-reexport-grrrrrrr2.rs b/src/test/run-pass/auxiliary/crate-method-reexport-grrrrrrr2.rs
new file mode 100644 (file)
index 0000000..f3d5bf2
--- /dev/null
@@ -0,0 +1,41 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="crate_method_reexport_grrrrrrr2"]
+
+pub use name_pool::add;
+
+pub mod name_pool {
+    pub type name_pool = ();
+
+    pub trait add {
+        fn add(&self, s: String);
+    }
+
+    impl add for name_pool {
+        fn add(&self, _s: String) {
+        }
+    }
+}
+
+pub mod rust {
+    pub use name_pool::add;
+
+    pub type rt = Box<()>;
+
+    pub trait cx {
+        fn cx(&self);
+    }
+
+    impl cx for rt {
+        fn cx(&self) {
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/default_type_params_xc.rs b/src/test/run-pass/auxiliary/default_type_params_xc.rs
new file mode 100644 (file)
index 0000000..fe852e5
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Heap;
+
+pub struct FakeHeap;
+
+pub struct FakeVec<T, A = FakeHeap> { pub f: Option<(T,A)> }
diff --git a/src/test/run-pass/auxiliary/derive-no-std.rs b/src/test/run-pass/auxiliary/derive-no-std.rs
new file mode 100644 (file)
index 0000000..f083e10
--- /dev/null
@@ -0,0 +1,40 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![crate_type = "rlib"]
+#![no_std]
+
+// Issue #16803
+
+#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord,
+         Debug, Default, Copy)]
+pub struct Foo {
+    pub x: u32,
+}
+
+#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord,
+         Debug, Copy)]
+pub enum Bar {
+    Qux,
+    Quux(u32),
+}
+
+#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord,
+         Debug, Copy)]
+pub enum Void {}
+#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord,
+         Debug, Copy)]
+pub struct Empty;
+#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord,
+         Debug, Copy)]
+pub struct AlsoEmpty {}
+
diff --git a/src/test/run-pass/auxiliary/empty-struct.rs b/src/test/run-pass/auxiliary/empty-struct.rs
new file mode 100644 (file)
index 0000000..22f65c2
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct XEmpty1 {}
+pub struct XEmpty2;
+
+pub enum XE {
+    XEmpty3 {},
+    XEmpty4,
+}
diff --git a/src/test/run-pass/auxiliary/explicit_self_xcrate.rs b/src/test/run-pass/auxiliary/explicit_self_xcrate.rs
new file mode 100644 (file)
index 0000000..dafa66d
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait Foo {
+    #[inline(always)]
+    fn f(&self);
+}
+
+pub struct Bar {
+    pub x: String
+}
+
+impl Foo for Bar {
+    #[inline(always)]
+    fn f(&self) {
+        println!("{}", (*self).x);
+    }
+}
diff --git a/src/test/run-pass/auxiliary/extern-crosscrate-source.rs b/src/test/run-pass/auxiliary/extern-crosscrate-source.rs
new file mode 100644 (file)
index 0000000..fc2e328
--- /dev/null
@@ -0,0 +1,41 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="externcallback"]
+#![crate_type = "lib"]
+#![feature(libc)]
+
+extern crate libc;
+
+pub mod rustrt {
+    extern crate libc;
+
+    #[link(name = "rust_test_helpers")]
+    extern {
+        pub fn rust_dbg_call(cb: extern "C" fn(libc::uintptr_t) -> libc::uintptr_t,
+                             data: libc::uintptr_t)
+                             -> libc::uintptr_t;
+    }
+}
+
+pub fn fact(n: libc::uintptr_t) -> libc::uintptr_t {
+    unsafe {
+        println!("n = {}", n);
+        rustrt::rust_dbg_call(cb, n)
+    }
+}
+
+pub extern fn cb(data: libc::uintptr_t) -> libc::uintptr_t {
+    if data == 1 {
+        data
+    } else {
+        fact(data - 1) * data
+    }
+}
diff --git a/src/test/run-pass/auxiliary/extern-take-value.rs b/src/test/run-pass/auxiliary/extern-take-value.rs
new file mode 100644 (file)
index 0000000..500c455
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub extern fn f() -> i32 { 1 }
+pub extern fn g() -> i32 { 2 }
+
+pub fn get_f() -> extern fn() -> i32 { f }
+pub fn get_g() -> extern fn() -> i32 { g }
diff --git a/src/test/run-pass/auxiliary/extern_calling_convention.rs b/src/test/run-pass/auxiliary/extern_calling_convention.rs
new file mode 100644 (file)
index 0000000..55a4226
--- /dev/null
@@ -0,0 +1,36 @@
+// Copyright 2013-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Make sure Rust generates the correct calling convention for extern
+// functions.
+
+#[inline(never)]
+#[cfg(target_arch = "x86_64")]
+pub extern "win64" fn foo(a: isize, b: isize, c: isize, d: isize) {
+    assert_eq!(a, 1);
+    assert_eq!(b, 2);
+    assert_eq!(c, 3);
+    assert_eq!(d, 4);
+
+    println!("a: {}, b: {}, c: {}, d: {}",
+             a, b, c, d)
+}
+
+#[inline(never)]
+#[cfg(not(target_arch = "x86_64"))]
+pub extern fn foo(a: isize, b: isize, c: isize, d: isize) {
+    assert_eq!(a, 1);
+    assert_eq!(b, 2);
+    assert_eq!(c, 3);
+    assert_eq!(d, 4);
+
+    println!("a: {}, b: {}, c: {}, d: {}",
+             a, b, c, d)
+}
diff --git a/src/test/run-pass/auxiliary/extern_mod_ordering_lib.rs b/src/test/run-pass/auxiliary/extern_mod_ordering_lib.rs
new file mode 100644 (file)
index 0000000..0fb6adf
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub mod extern_mod_ordering_lib {
+    pub fn f() {}
+}
diff --git a/src/test/run-pass/auxiliary/fat_drop.rs b/src/test/run-pass/auxiliary/fat_drop.rs
new file mode 100644 (file)
index 0000000..1f944b6
--- /dev/null
@@ -0,0 +1,23 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub static mut DROPPED: bool = false;
+
+pub struct S {
+    _unsized: [u8]
+}
+
+impl Drop for S {
+    fn drop(&mut self) {
+        unsafe {
+            DROPPED = true;
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/fn-abi.rs b/src/test/run-pass/auxiliary/fn-abi.rs
new file mode 100644 (file)
index 0000000..5d380ea
--- /dev/null
@@ -0,0 +1,12 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#[no_mangle]
+pub extern fn foo() {}
diff --git a/src/test/run-pass/auxiliary/foreign_lib.rs b/src/test/run-pass/auxiliary/foreign_lib.rs
new file mode 100644 (file)
index 0000000..460d0a0
--- /dev/null
@@ -0,0 +1,48 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="foreign_lib"]
+
+#![feature(libc)]
+
+pub mod rustrt {
+    extern crate libc;
+
+    #[link(name = "rust_test_helpers")]
+    extern {
+        pub fn rust_get_test_int() -> libc::intptr_t;
+    }
+}
+
+pub mod rustrt2 {
+    extern crate libc;
+
+    extern {
+        pub fn rust_get_test_int() -> libc::intptr_t;
+    }
+}
+
+pub mod rustrt3 {
+    // Different type, but same ABI (on all supported platforms).
+    // Ensures that we don't ICE or trigger LLVM asserts when
+    // importing the same symbol under different types.
+    // See https://github.com/rust-lang/rust/issues/32740.
+    extern {
+        pub fn rust_get_test_int() -> *const u8;
+    }
+}
+
+pub fn local_uses() {
+    unsafe {
+        let x = rustrt::rust_get_test_int();
+        assert_eq!(x, rustrt2::rust_get_test_int());
+        assert_eq!(x as *const _, rustrt3::rust_get_test_int());
+    }
+}
diff --git a/src/test/run-pass/auxiliary/go_trait.rs b/src/test/run-pass/auxiliary/go_trait.rs
new file mode 100644 (file)
index 0000000..044bb60
--- /dev/null
@@ -0,0 +1,53 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(specialization)]
+
+// Common code used for tests that model the Fn/FnMut/FnOnce hierarchy.
+
+pub trait Go {
+    fn go(&self, arg: isize);
+}
+
+pub fn go<G:Go>(this: &G, arg: isize) {
+    this.go(arg)
+}
+
+pub trait GoMut {
+    fn go_mut(&mut self, arg: isize);
+}
+
+pub fn go_mut<G:GoMut>(this: &mut G, arg: isize) {
+    this.go_mut(arg)
+}
+
+pub trait GoOnce {
+    fn go_once(self, arg: isize);
+}
+
+pub fn go_once<G:GoOnce>(this: G, arg: isize) {
+    this.go_once(arg)
+}
+
+impl<G> GoMut for G
+    where G : Go
+{
+    default fn go_mut(&mut self, arg: isize) {
+        go(&*self, arg)
+    }
+}
+
+impl<G> GoOnce for G
+    where G : GoMut
+{
+    default fn go_once(mut self, arg: isize) {
+        go_mut(&mut self, arg)
+    }
+}
diff --git a/src/test/run-pass/auxiliary/i8.rs b/src/test/run-pass/auxiliary/i8.rs
new file mode 100644 (file)
index 0000000..44e62b9
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// A crate named after a built-in type.
+
+pub struct Test;
diff --git a/src/test/run-pass/auxiliary/impl_privacy_xc_1.rs b/src/test/run-pass/auxiliary/impl_privacy_xc_1.rs
new file mode 100644 (file)
index 0000000..ad3cded
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+pub struct Fish {
+    pub x: isize
+}
+
+impl Fish {
+    pub fn swim(&self) {}
+}
diff --git a/src/test/run-pass/auxiliary/impl_privacy_xc_2.rs b/src/test/run-pass/auxiliary/impl_privacy_xc_2.rs
new file mode 100644 (file)
index 0000000..c3212b0
--- /dev/null
@@ -0,0 +1,23 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+pub struct Fish {
+    pub x: isize
+}
+
+mod unexported {
+    use super::Fish;
+    impl PartialEq for Fish {
+        fn eq(&self, _: &Fish) -> bool { true }
+        fn ne(&self, _: &Fish) -> bool { false }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/inline_dtor.rs b/src/test/run-pass/auxiliary/inline_dtor.rs
new file mode 100644 (file)
index 0000000..dd1fdc2
--- /dev/null
@@ -0,0 +1,18 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="inline_dtor"]
+
+pub struct Foo;
+
+impl Drop for Foo {
+    #[inline]
+    fn drop(&mut self) {}
+}
diff --git a/src/test/run-pass/auxiliary/inner_static.rs b/src/test/run-pass/auxiliary/inner_static.rs
new file mode 100644 (file)
index 0000000..0d15c13
--- /dev/null
@@ -0,0 +1,61 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct A<T> { pub v: T }
+pub struct B<T> { pub v: T }
+
+pub mod test {
+    pub struct A<T> { pub v: T }
+
+    impl<T> A<T> {
+        pub fn foo(&self) -> isize {
+            static a: isize = 5;
+            return a
+        }
+
+        pub fn bar(&self) -> isize {
+            static a: isize = 6;
+            return a;
+        }
+    }
+}
+
+impl<T> A<T> {
+    pub fn foo(&self) -> isize {
+        static a: isize = 1;
+        return a
+    }
+
+    pub fn bar(&self) -> isize {
+        static a: isize = 2;
+        return a;
+    }
+}
+
+impl<T> B<T> {
+    pub fn foo(&self) -> isize {
+        static a: isize = 3;
+        return a
+    }
+
+    pub fn bar(&self) -> isize {
+        static a: isize = 4;
+        return a;
+    }
+}
+
+pub fn foo() -> isize {
+    let a = A { v: () };
+    let b = B { v: () };
+    let c = test::A { v: () };
+    return a.foo() + a.bar() +
+           b.foo() + b.bar() +
+           c.foo() + c.bar();
+}
diff --git a/src/test/run-pass/auxiliary/iss.rs b/src/test/run-pass/auxiliary/iss.rs
new file mode 100644 (file)
index 0000000..b231efa
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="issue6919_3"]
+
+// part of issue-6919.rs
+
+pub struct C<K> where K: FnOnce() {
+    pub k: K,
+}
+
+fn no_op() { }
+pub const D : C<fn()> = C {
+    k: no_op as fn()
+};
diff --git a/src/test/run-pass/auxiliary/issue-10028.rs b/src/test/run-pass/auxiliary/issue-10028.rs
new file mode 100644 (file)
index 0000000..a21deb4
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(unsafe_no_drop_flag)]
+
+#[unsafe_no_drop_flag]
+pub struct ZeroLengthThingWithDestructor;
+impl Drop for ZeroLengthThingWithDestructor {
+    fn drop(&mut self) {}
+}
+impl ZeroLengthThingWithDestructor {
+    pub fn new() -> ZeroLengthThingWithDestructor {
+        ZeroLengthThingWithDestructor
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue-11224.rs b/src/test/run-pass/auxiliary/issue-11224.rs
new file mode 100644 (file)
index 0000000..15b72b3
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![deny(dead_code)]
+
+mod inner {
+    pub trait Trait {
+        fn f(&self) { f(); }
+    }
+
+    impl Trait for isize {}
+
+    fn f() {}
+}
+
+pub fn foo() {
+    let a = &1isize as &inner::Trait;
+    a.f();
+}
diff --git a/src/test/run-pass/auxiliary/issue-11225-1.rs b/src/test/run-pass/auxiliary/issue-11225-1.rs
new file mode 100644 (file)
index 0000000..e1ec15b
--- /dev/null
@@ -0,0 +1,28 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+mod inner {
+    pub trait Trait {
+        fn f(&self) { f(); }
+        fn f_ufcs(&self) { f_ufcs(); }
+    }
+
+    impl Trait for isize {}
+
+    fn f() {}
+    fn f_ufcs() {}
+}
+
+pub fn foo<T: inner::Trait>(t: T) {
+    t.f();
+}
+pub fn foo_ufcs<T: inner::Trait>(t: T) {
+    T::f_ufcs(&t);
+}
diff --git a/src/test/run-pass/auxiliary/issue-11225-2.rs b/src/test/run-pass/auxiliary/issue-11225-2.rs
new file mode 100644 (file)
index 0000000..25110ed
--- /dev/null
@@ -0,0 +1,38 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use inner::Trait;
+
+mod inner {
+    pub struct Foo;
+    pub trait Trait {
+        fn f(&self);
+        fn f_ufcs(&self);
+    }
+
+    impl Trait for Foo {
+        fn f(&self) { }
+        fn f_ufcs(&self) { }
+    }
+}
+
+pub trait Outer {
+    fn foo<T: Trait>(&self, t: T) { t.f(); }
+    fn foo_ufcs<T: Trait>(&self, t: T) { T::f(&t); }
+}
+
+impl Outer for isize {}
+
+pub fn foo<T: Outer>(t: T) {
+    t.foo(inner::Foo);
+}
+pub fn foo_ufcs<T: Outer>(t: T) {
+    T::foo_ufcs(&t, inner::Foo)
+}
diff --git a/src/test/run-pass/auxiliary/issue-11225-3.rs b/src/test/run-pass/auxiliary/issue-11225-3.rs
new file mode 100644 (file)
index 0000000..d48fb68
--- /dev/null
@@ -0,0 +1,38 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+trait PrivateTrait {
+    fn private_trait_method(&self);
+    fn private_trait_method_ufcs(&self);
+}
+
+struct PrivateStruct;
+
+impl PrivateStruct {
+    fn private_inherent_method(&self) { }
+    fn private_inherent_method_ufcs(&self) { }
+}
+
+impl PrivateTrait for PrivateStruct {
+    fn private_trait_method(&self) { }
+    fn private_trait_method_ufcs(&self) { }
+}
+
+#[inline]
+pub fn public_inlinable_function() {
+    PrivateStruct.private_trait_method();
+    PrivateStruct.private_inherent_method();
+}
+
+#[inline]
+pub fn public_inlinable_function_ufcs() {
+    PrivateStruct::private_trait_method(&PrivateStruct);
+    PrivateStruct::private_inherent_method(&PrivateStruct);
+}
diff --git a/src/test/run-pass/auxiliary/issue-11508.rs b/src/test/run-pass/auxiliary/issue-11508.rs
new file mode 100644 (file)
index 0000000..c5dc343
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Closed01<F>(pub F);
+
+pub trait Bar { fn new() -> Self; }
+
+impl<T: Bar> Bar for Closed01<T> {
+    fn new() -> Closed01<T> { Closed01(Bar::new()) }
+}
+impl Bar for f32 { fn new() -> f32 { 1.0 } }
+
+pub fn random<T: Bar>() -> T { Bar::new() }
diff --git a/src/test/run-pass/auxiliary/issue-11529.rs b/src/test/run-pass/auxiliary/issue-11529.rs
new file mode 100644 (file)
index 0000000..21ef99e
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct A<'a>(pub &'a isize);
diff --git a/src/test/run-pass/auxiliary/issue-12133-dylib.rs b/src/test/run-pass/auxiliary/issue-12133-dylib.rs
new file mode 100644 (file)
index 0000000..ea22258
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "dylib"]
diff --git a/src/test/run-pass/auxiliary/issue-12133-dylib2.rs b/src/test/run-pass/auxiliary/issue-12133-dylib2.rs
new file mode 100644 (file)
index 0000000..fa5722a
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![crate_type = "dylib"]
+
+extern crate issue_12133_rlib as a;
+extern crate issue_12133_dylib as b;
diff --git a/src/test/run-pass/auxiliary/issue-12133-rlib.rs b/src/test/run-pass/auxiliary/issue-12133-rlib.rs
new file mode 100644 (file)
index 0000000..8e46acc
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![crate_type = "rlib"]
diff --git a/src/test/run-pass/auxiliary/issue-12660-aux.rs b/src/test/run-pass/auxiliary/issue-12660-aux.rs
new file mode 100644 (file)
index 0000000..9f2bd5d
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+#![crate_name="issue12660aux"]
+
+pub use my_mod::{MyStruct, my_fn};
+
+mod my_mod {
+    pub struct MyStruct;
+
+    pub fn my_fn(my_struct: MyStruct) {
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue-13620-1.rs b/src/test/run-pass/auxiliary/issue-13620-1.rs
new file mode 100644 (file)
index 0000000..e373421
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Foo {
+    pub foo: extern fn()
+}
+
+extern fn the_foo() {}
+
+pub const FOO: Foo = Foo {
+    foo: the_foo
+};
diff --git a/src/test/run-pass/auxiliary/issue-13620-2.rs b/src/test/run-pass/auxiliary/issue-13620-2.rs
new file mode 100644 (file)
index 0000000..554170b
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+extern crate issue_13620_1 as crate1;
+
+pub static FOO2: crate1::Foo = crate1::FOO;
diff --git a/src/test/run-pass/auxiliary/issue-13872-1.rs b/src/test/run-pass/auxiliary/issue-13872-1.rs
new file mode 100644 (file)
index 0000000..941b67e
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub enum A { B }
diff --git a/src/test/run-pass/auxiliary/issue-13872-2.rs b/src/test/run-pass/auxiliary/issue-13872-2.rs
new file mode 100644 (file)
index 0000000..bb51417
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+extern crate issue_13872_1 as foo;
+
+pub use foo::A::B;
diff --git a/src/test/run-pass/auxiliary/issue-13872-3.rs b/src/test/run-pass/auxiliary/issue-13872-3.rs
new file mode 100644 (file)
index 0000000..e20618f
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+extern crate issue_13872_2 as bar;
+
+use bar::B;
+
+pub fn foo() {
+    match B {
+        B => {}
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue-14344-1.rs b/src/test/run-pass/auxiliary/issue-14344-1.rs
new file mode 100644 (file)
index 0000000..78c03ba
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![crate_type = "rlib"]
+
+pub fn foo() {}
diff --git a/src/test/run-pass/auxiliary/issue-14344-2.rs b/src/test/run-pass/auxiliary/issue-14344-2.rs
new file mode 100644 (file)
index 0000000..9df35e5
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+extern crate issue_14344_1;
+
+pub fn bar() {}
diff --git a/src/test/run-pass/auxiliary/issue-14421.rs b/src/test/run-pass/auxiliary/issue-14421.rs
new file mode 100644 (file)
index 0000000..a480886
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+#![deny(warnings)]
+#![allow(dead_code)]
+
+pub use src::aliases::B;
+pub use src::hidden_core::make;
+
+mod src {
+    pub mod aliases {
+        use super::hidden_core::A;
+        pub type B = A<f32>;
+    }
+
+    pub mod hidden_core {
+        use super::aliases::B;
+
+        pub struct A<T> { t: T }
+
+        pub fn make() -> B { A { t: 1.0 } }
+
+        impl<T> A<T> {
+            pub fn foo(&mut self) { println!("called foo"); }
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue-14422.rs b/src/test/run-pass/auxiliary/issue-14422.rs
new file mode 100644 (file)
index 0000000..32af6d9
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+#![deny(warnings)]
+
+pub use src::aliases::B;
+pub use src::hidden_core::make;
+
+mod src {
+    pub mod aliases {
+        use super::hidden_core::A;
+        pub type B = A;
+    }
+
+    pub mod hidden_core {
+        use super::aliases::B;
+
+        #[derive(Copy, Clone)]
+        pub struct A;
+
+        pub fn make() -> B { A }
+
+        impl A {
+            pub fn foo(&mut self) { println!("called foo"); }
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue-15562.rs b/src/test/run-pass/auxiliary/issue-15562.rs
new file mode 100644 (file)
index 0000000..76243d3
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+extern {
+    pub fn transmute();
+}
diff --git a/src/test/run-pass/auxiliary/issue-16643.rs b/src/test/run-pass/auxiliary/issue-16643.rs
new file mode 100644 (file)
index 0000000..b590160
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+pub struct TreeBuilder<H> { pub h: H }
+
+impl<H> TreeBuilder<H> {
+    pub fn process_token(&mut self) {
+        match self {
+            _ => for _y in self.by_ref() {}
+        }
+    }
+}
+
+impl<H> Iterator for TreeBuilder<H> {
+    type Item = H;
+
+    fn next(&mut self) -> Option<H> {
+        None
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue-17662.rs b/src/test/run-pass/auxiliary/issue-17662.rs
new file mode 100644 (file)
index 0000000..fb55a07
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+pub trait Foo<'a, T> {
+    fn foo(&'a self) -> T;
+}
+
+pub fn foo<'a, T>(x: &'a Foo<'a, T>) -> T {
+    let x: &'a Foo<T> = x;
+    //            ^ the lifetime parameter of Foo is left to be inferred.
+    x.foo()
+    // ^ encoding this method call in metadata triggers an ICE.
+}
diff --git a/src/test/run-pass/auxiliary/issue-17718-aux.rs b/src/test/run-pass/auxiliary/issue-17718-aux.rs
new file mode 100644 (file)
index 0000000..373fc04
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(const_fn)]
+
+use std::sync::atomic;
+
+pub const C1: usize = 1;
+pub const C2: atomic::AtomicUsize = atomic::AtomicUsize::new(0);
+pub const C3: fn() = foo;
+pub const C4: usize = C1 * C1 + C1 / C1;
+pub const C5: &'static usize = &C4;
+
+pub static S1: usize = 3;
+pub static S2: atomic::AtomicUsize = atomic::AtomicUsize::new(0);
+
+fn foo() {}
diff --git a/src/test/run-pass/auxiliary/issue-18501.rs b/src/test/run-pass/auxiliary/issue-18501.rs
new file mode 100644 (file)
index 0000000..af3bc20
--- /dev/null
@@ -0,0 +1,27 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "rlib"]
+struct Foo;
+
+trait Tr {
+    fn tr(&self);
+}
+
+impl Tr for Foo {
+    fn tr(&self) {}
+}
+
+fn take_method<T>(f: fn(&T), t: &T) {}
+
+#[inline]
+pub fn pass_method() {
+    take_method(Tr::tr, &Foo);
+}
diff --git a/src/test/run-pass/auxiliary/issue-18514.rs b/src/test/run-pass/auxiliary/issue-18514.rs
new file mode 100644 (file)
index 0000000..2a5e07a
--- /dev/null
@@ -0,0 +1,27 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "rlib"]
+
+pub trait Tr {
+    fn tr(&self);
+}
+
+pub struct St<V>(pub Vec<V>);
+
+impl<V> Tr for St<V> {
+    fn tr(&self) {
+        match self {
+            &St(ref v) => {
+                v.iter();
+            }
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue-18711.rs b/src/test/run-pass/auxiliary/issue-18711.rs
new file mode 100644 (file)
index 0000000..a29dcc0
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(unboxed_closures)]
+#![crate_type = "rlib"]
+
+pub fn inner<F>(f: F) -> F {
+    (move || f)()
+}
diff --git a/src/test/run-pass/auxiliary/issue-18913-1.rs b/src/test/run-pass/auxiliary/issue-18913-1.rs
new file mode 100644 (file)
index 0000000..4315e27
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![crate_type = "rlib"]
+#![crate_name = "foo"]
+
+pub fn foo() -> i32 { 0 }
diff --git a/src/test/run-pass/auxiliary/issue-18913-2.rs b/src/test/run-pass/auxiliary/issue-18913-2.rs
new file mode 100644 (file)
index 0000000..dcdeaec
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![crate_type = "rlib"]
+#![crate_name = "foo"]
+
+pub fn foo() -> i32 { 1 }
diff --git a/src/test/run-pass/auxiliary/issue-19340-1.rs b/src/test/run-pass/auxiliary/issue-19340-1.rs
new file mode 100644 (file)
index 0000000..fc61b78
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub enum Homura {
+    Madoka { name: String },
+}
diff --git a/src/test/run-pass/auxiliary/issue-2380.rs b/src/test/run-pass/auxiliary/issue-2380.rs
new file mode 100644 (file)
index 0000000..cfebc4a
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="a"]
+#![crate_type = "lib"]
+
+#![allow(unknown_features)]
+#![feature(box_syntax)]
+
+pub trait i<T>
+{
+    fn dummy(&self, t: T) -> T { panic!() }
+}
+
+pub fn f<T>() -> Box<i<T>+'static> {
+    impl<T> i<T> for () { }
+
+    box () as Box<i<T>+'static>
+}
diff --git a/src/test/run-pass/auxiliary/issue-2414-a.rs b/src/test/run-pass/auxiliary/issue-2414-a.rs
new file mode 100644 (file)
index 0000000..8c41419
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="a"]
+#![crate_type = "lib"]
+
+type t1 = usize;
+
+trait foo {
+    fn foo(&self);
+}
+
+impl foo for String {
+    fn foo(&self) {}
+}
diff --git a/src/test/run-pass/auxiliary/issue-2414-b.rs b/src/test/run-pass/auxiliary/issue-2414-b.rs
new file mode 100644 (file)
index 0000000..b1c95bc
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+
+#![crate_name="b"]
+#![crate_type = "lib"]
+
+extern crate a;
diff --git a/src/test/run-pass/auxiliary/issue-25185-1.rs b/src/test/run-pass/auxiliary/issue-25185-1.rs
new file mode 100644 (file)
index 0000000..1ec2950
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![feature(linked_from)]
+
+#![crate_type = "rlib"]
+
+#[link(name = "rust_test_helpers", kind = "static")]
+#[linked_from = "rust_test_helpers"]
+extern {
+    pub fn rust_dbg_extern_identity_u32(u: u32) -> u32;
+}
diff --git a/src/test/run-pass/auxiliary/issue-25185-2.rs b/src/test/run-pass/auxiliary/issue-25185-2.rs
new file mode 100644 (file)
index 0000000..00b5277
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+extern crate issue_25185_1;
+
+pub use issue_25185_1::rust_dbg_extern_identity_u32;
diff --git a/src/test/run-pass/auxiliary/issue-2526.rs b/src/test/run-pass/auxiliary/issue-2526.rs
new file mode 100644 (file)
index 0000000..3d777d0
--- /dev/null
@@ -0,0 +1,54 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="issue_2526"]
+#![crate_type = "lib"]
+
+use std::marker;
+
+pub struct arc_destruct<T: Sync> {
+    _data: isize,
+    _marker: marker::PhantomData<T>
+}
+
+impl<T: Sync> Drop for arc_destruct<T> {
+    fn drop(&mut self) {}
+}
+
+fn arc_destruct<T: Sync>(data: isize) -> arc_destruct<T> {
+    arc_destruct {
+        _data: data,
+        _marker: marker::PhantomData
+    }
+}
+
+fn arc<T: Sync>(_data: T) -> arc_destruct<T> {
+    arc_destruct(0)
+}
+
+fn init() -> arc_destruct<context_res> {
+    arc(context_res())
+}
+
+pub struct context_res {
+    ctx : isize,
+}
+
+impl Drop for context_res {
+    fn drop(&mut self) {}
+}
+
+fn context_res() -> context_res {
+    context_res {
+        ctx: 0
+    }
+}
+
+pub type context = arc_destruct<context_res>;
diff --git a/src/test/run-pass/auxiliary/issue-25467.rs b/src/test/run-pass/auxiliary/issue-25467.rs
new file mode 100644 (file)
index 0000000..e358cde
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub trait Trait {
+    // the issue is sensitive to interning order - so use names
+    // unlikely to appear in libstd.
+    type Issue25467FooT;
+    type Issue25467BarT;
+}
+
+pub type Object = Option<Box<Trait<Issue25467FooT=(),Issue25467BarT=()>>>;
diff --git a/src/test/run-pass/auxiliary/issue-2631-a.rs b/src/test/run-pass/auxiliary/issue-2631-a.rs
new file mode 100644 (file)
index 0000000..604a3e6
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="req"]
+#![crate_type = "lib"]
+
+use std::cell::RefCell;
+use std::collections::HashMap;
+use std::rc::Rc;
+
+pub type header_map = HashMap<String, Rc<RefCell<Vec<Rc<String>>>>>;
+
+// the unused ty param is necessary so this gets monomorphized
+pub fn request<T>(req: &header_map) {
+  let data = req[&"METHOD".to_string()].clone();
+  let _x = data.borrow().clone()[0].clone();
+}
diff --git a/src/test/run-pass/auxiliary/issue-29485.rs b/src/test/run-pass/auxiliary/issue-29485.rs
new file mode 100644 (file)
index 0000000..825c449
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="a"]
+#![crate_type = "lib"]
+
+pub struct X(pub u8);
+
+impl Drop for X {
+    fn drop(&mut self) {
+        assert_eq!(self.0, 1)
+    }
+}
+
+pub fn f(x: &mut X, g: fn()) {
+    x.0 = 1;
+    g();
+    x.0 = 0;
+}
diff --git a/src/test/run-pass/auxiliary/issue-3012-1.rs b/src/test/run-pass/auxiliary/issue-3012-1.rs
new file mode 100644 (file)
index 0000000..b6199f5
--- /dev/null
@@ -0,0 +1,33 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="socketlib"]
+#![crate_type = "lib"]
+#![feature(libc)]
+
+pub mod socket {
+    extern crate libc;
+
+    pub struct socket_handle {
+        sockfd: libc::c_int,
+    }
+
+    impl Drop for socket_handle {
+        fn drop(&mut self) {
+            /* c::close(self.sockfd); */
+        }
+    }
+
+    pub fn socket_handle(x: libc::c_int) -> socket_handle {
+        socket_handle {
+            sockfd: x
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue-31702-1.rs b/src/test/run-pass/auxiliary/issue-31702-1.rs
new file mode 100644 (file)
index 0000000..50a3163
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#[derive(Copy)]
+pub struct U256(pub [u64; 4]);
+
+impl Clone for U256 {
+    fn clone(&self) -> U256 {
+        *self
+    }
+}
+
+impl U256 {
+    pub fn new(value: u64) -> U256 {
+        let mut ret = [0; 4];
+        ret[0] = value;
+        U256(ret)
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue-31702-2.rs b/src/test/run-pass/auxiliary/issue-31702-2.rs
new file mode 100644 (file)
index 0000000..c5b1bc6
--- /dev/null
@@ -0,0 +1,30 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -g
+
+extern crate issue_31702_1;
+
+use std::collections::HashMap;
+use issue_31702_1::U256;
+
+pub struct Ethash {
+    engine_params: for<'a> fn() -> Option<&'a Vec<u8>>,
+    u256_params: HashMap<String, U256>,
+}
+
+impl Ethash {
+    pub fn u256_param(&mut self, name: &str) -> U256 {
+        let engine = self.engine_params;
+        *self.u256_params.entry(name.to_owned()).or_insert_with(|| {
+            engine().map_or(U256::new(0u64), |_a| loop {})
+        })
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue-4208-cc.rs b/src/test/run-pass/auxiliary/issue-4208-cc.rs
new file mode 100644 (file)
index 0000000..a7c1633
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="numeric"]
+#![crate_type = "lib"]
+
+pub trait Trig<T> {
+    fn sin(&self) -> T;
+}
+
+pub fn sin<T:Trig<R>, R>(theta: &T) -> R { theta.sin() }
+
+pub trait Angle<T>: Trig<T> {}
diff --git a/src/test/run-pass/auxiliary/issue-4545.rs b/src/test/run-pass/auxiliary/issue-4545.rs
new file mode 100644 (file)
index 0000000..29feeaa
--- /dev/null
@@ -0,0 +1,12 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct S<T>(Option<T>);
+pub fn mk<T>() -> S<T> { S(None) }
diff --git a/src/test/run-pass/auxiliary/issue-5518.rs b/src/test/run-pass/auxiliary/issue-5518.rs
new file mode 100644 (file)
index 0000000..cea227e
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+trait A<'a, T> {
+    fn f(&mut self) -> &'a mut T;
+    fn p() -> T;
+}
diff --git a/src/test/run-pass/auxiliary/issue-5521.rs b/src/test/run-pass/auxiliary/issue-5521.rs
new file mode 100644 (file)
index 0000000..82bd2b6
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+
+use std::collections::HashMap;
+
+pub type map = Box<HashMap<usize, usize>>;
diff --git a/src/test/run-pass/auxiliary/issue-7178.rs b/src/test/run-pass/auxiliary/issue-7178.rs
new file mode 100644 (file)
index 0000000..18b464b
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Foo<'a, A:'a>(&'a A);
+
+impl<'a, A> Foo<'a, A> {
+    pub fn new(a: &'a A) -> Foo<'a, A> {
+        Foo(a)
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue-7899.rs b/src/test/run-pass/auxiliary/issue-7899.rs
new file mode 100644 (file)
index 0000000..e197e84
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct V2<T>(pub T, pub T);
diff --git a/src/test/run-pass/auxiliary/issue-8044.rs b/src/test/run-pass/auxiliary/issue-8044.rs
new file mode 100644 (file)
index 0000000..8f32869
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct BTree<V> {
+    pub node: TreeItem<V>,
+}
+
+pub enum TreeItem<V> {
+    TreeLeaf { value: V },
+}
+
+pub fn leaf<V>(value: V) -> TreeItem<V> {
+    TreeItem::TreeLeaf { value: value }
+}
+
+fn main() {
+    BTree::<isize> { node: leaf(1) };
+}
diff --git a/src/test/run-pass/auxiliary/issue-8259.rs b/src/test/run-pass/auxiliary/issue-8259.rs
new file mode 100644 (file)
index 0000000..91167e8
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+
+pub enum Foo<'a> {
+    A,
+    B(&'a str),
+}
diff --git a/src/test/run-pass/auxiliary/issue-9906.rs b/src/test/run-pass/auxiliary/issue-9906.rs
new file mode 100644 (file)
index 0000000..5eb4898
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub use other::FooBar;
+pub use other::foo;
+
+mod other {
+    pub struct FooBar{value: isize}
+    impl FooBar{
+        pub fn new(val: isize) -> FooBar {
+            FooBar{value: val}
+        }
+    }
+
+    pub fn foo(){
+        1+1;
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue-9968.rs b/src/test/run-pass/auxiliary/issue-9968.rs
new file mode 100644 (file)
index 0000000..d04d761
--- /dev/null
@@ -0,0 +1,32 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub use internal::core::{Trait, Struct};
+
+mod internal {
+    pub mod core {
+        pub struct Struct;
+        impl Struct {
+            pub fn init() -> Struct {
+                Struct
+            }
+        }
+
+        pub trait Trait {
+            fn test(&self) {
+                private();
+            }
+        }
+
+        impl Trait for Struct {}
+
+        fn private() { }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue13507.rs b/src/test/run-pass/auxiliary/issue13507.rs
new file mode 100644 (file)
index 0000000..4cb846b
--- /dev/null
@@ -0,0 +1,99 @@
+// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(core)]
+
+pub mod testtypes {
+    use std::any::TypeId;
+
+    pub fn type_ids() -> Vec<TypeId> {
+        vec![
+            TypeId::of::<FooBool>(),
+            TypeId::of::<FooInt>(),
+            TypeId::of::<FooUint>(),
+            TypeId::of::<FooFloat>(),
+            TypeId::of::<FooStr>(),
+            TypeId::of::<FooArray>(),
+            TypeId::of::<FooSlice>(),
+            TypeId::of::<FooBox>(),
+            TypeId::of::<FooPtr>(),
+            TypeId::of::<FooRef>(),
+            TypeId::of::<FooFnPtr>(),
+            TypeId::of::<FooNil>(),
+            TypeId::of::<FooTuple>(),
+            TypeId::of::<FooTrait>(),
+            TypeId::of::<FooStruct>(),
+            TypeId::of::<FooEnum>()
+        ]
+    }
+
+    // Tests TyBool
+    pub type FooBool = bool;
+
+    // Tests TyChar
+    pub type FooChar = char;
+
+    // Tests TyInt (does not test all variants of IntTy)
+    pub type FooInt = isize;
+
+    // Tests TyUint (does not test all variants of UintTy)
+    pub type FooUint = usize;
+
+    // Tests TyFloat (does not test all variants of FloatTy)
+    pub type FooFloat = f64;
+
+    // Tests TyStr
+    pub type FooStr = str;
+
+    // Tests TyArray
+    pub type FooArray = [u8; 1];
+
+    // Tests TySlice
+    pub type FooSlice = [u8];
+
+    // Tests TyBox (of u8)
+    pub type FooBox = Box<u8>;
+
+    // Tests TyRawPtr
+    pub type FooPtr = *const u8;
+
+    // Tests TyRef
+    pub type FooRef = &'static u8;
+
+    // Tests TyFnPtr
+    pub type FooFnPtr = fn(u8) -> bool;
+
+    // Tests TyTrait
+    pub trait FooTrait {
+        fn foo_method(&self) -> usize;
+    }
+
+    // Tests TyStruct
+    pub struct FooStruct {
+        pub pub_foo_field: usize,
+        foo_field: usize
+    }
+
+    // Tests TyEnum
+    pub enum FooEnum {
+        VarA(usize),
+        VarB(usize, usize)
+    }
+
+    // Tests TyTuple
+    pub type FooNil = ();
+    pub type FooTuple = (u8, i8, bool);
+
+    // Skipping TyParam
+
+    // Skipping TyInfer
+
+    // Skipping TyError
+}
diff --git a/src/test/run-pass/auxiliary/issue2170lib.rs b/src/test/run-pass/auxiliary/issue2170lib.rs
new file mode 100644 (file)
index 0000000..b311ee3
--- /dev/null
@@ -0,0 +1,28 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+fn foo(_x: i32) {
+}
+
+pub struct rsrc {
+  x: i32,
+}
+
+impl Drop for rsrc {
+    fn drop(&mut self) {
+        foo(self.x);
+    }
+}
+
+pub fn rsrc(x: i32) -> rsrc {
+    rsrc {
+        x: x
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue_10031_aux.rs b/src/test/run-pass/auxiliary/issue_10031_aux.rs
new file mode 100644 (file)
index 0000000..f0f1af2
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Wrap<A>(pub A);
diff --git a/src/test/run-pass/auxiliary/issue_12612_1.rs b/src/test/run-pass/auxiliary/issue_12612_1.rs
new file mode 100644 (file)
index 0000000..a0234c1
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod bar {
+    pub fn foo() {}
+}
diff --git a/src/test/run-pass/auxiliary/issue_12612_2.rs b/src/test/run-pass/auxiliary/issue_12612_2.rs
new file mode 100644 (file)
index 0000000..b4ae437
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub fn baz() {}
diff --git a/src/test/run-pass/auxiliary/issue_19293.rs b/src/test/run-pass/auxiliary/issue_19293.rs
new file mode 100644 (file)
index 0000000..12894ad
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Foo (pub isize);
+pub enum MyEnum {
+    Foo(Foo),
+}
diff --git a/src/test/run-pass/auxiliary/issue_20389.rs b/src/test/run-pass/auxiliary/issue_20389.rs
new file mode 100644 (file)
index 0000000..4ce7e30
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait T {
+    type C;
+    fn dummy(&self) { }
+}
diff --git a/src/test/run-pass/auxiliary/issue_2316_a.rs b/src/test/run-pass/auxiliary/issue_2316_a.rs
new file mode 100644 (file)
index 0000000..6bd1e73
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+enum cat {
+  tabby, calico, tortoiseshell
+}
diff --git a/src/test/run-pass/auxiliary/issue_2316_b.rs b/src/test/run-pass/auxiliary/issue_2316_b.rs
new file mode 100644 (file)
index 0000000..8a212f6
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![allow(unused_imports)]
+
+extern crate issue_2316_a;
+
+pub mod cloth {
+    use issue_2316_a::*;
+
+    pub enum fabric {
+        gingham, flannel, calico
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue_2472_b.rs b/src/test/run-pass/auxiliary/issue_2472_b.rs
new file mode 100644 (file)
index 0000000..5f55476
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+
+pub struct S(pub ());
+
+impl S {
+    pub fn foo(&self) { }
+}
+
+pub trait T {
+    fn bar(&self);
+}
+
+impl T for S {
+    fn bar(&self) { }
+}
diff --git a/src/test/run-pass/auxiliary/issue_2723_a.rs b/src/test/run-pass/auxiliary/issue_2723_a.rs
new file mode 100644 (file)
index 0000000..44bea13
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+
+pub unsafe fn f(xs: Vec<isize> ) {
+    xs.iter().map(|_x| { unsafe fn q() { panic!(); } }).collect::<Vec<()>>();
+}
diff --git a/src/test/run-pass/auxiliary/issue_3136_a.rc b/src/test/run-pass/auxiliary/issue_3136_a.rc
new file mode 100644 (file)
index 0000000..320e0ce
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+pub mod issue_3136_a;
diff --git a/src/test/run-pass/auxiliary/issue_3136_a.rs b/src/test/run-pass/auxiliary/issue_3136_a.rs
new file mode 100644 (file)
index 0000000..55de208
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+trait x {
+    fn use_x<T>(&self);
+}
+struct y(());
+impl x for y {
+    fn use_x<T>(&self) {
+        struct foo { //~ ERROR quux
+            i: ()
+        }
+        fn new_foo<T>(i: ()) -> foo {
+            foo { i: i }
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue_3979_traits.rs b/src/test/run-pass/auxiliary/issue_3979_traits.rs
new file mode 100644 (file)
index 0000000..5c306be
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="issue_3979_traits"]
+
+#![crate_type = "lib"]
+
+pub trait Positioned {
+  fn SetX(&mut self, isize);
+  fn X(&self) -> isize;
+}
+
+pub trait Movable: Positioned {
+  fn translate(&mut self, dx: isize) {
+    let x = self.X() + dx;
+    self.SetX(x);
+  }
+}
diff --git a/src/test/run-pass/auxiliary/issue_8401.rs b/src/test/run-pass/auxiliary/issue_8401.rs
new file mode 100644 (file)
index 0000000..40e01c1
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// for this issue, this code must be built in a library
+
+use std::mem;
+
+trait A {
+    fn dummy(&self) { }
+}
+struct B;
+impl A for B {}
+
+fn bar<T>(_: &mut A, _: &T) {}
+
+fn foo<T>(t: &T) {
+    let mut b = B;
+    bar(&mut b as &mut A, t)
+}
diff --git a/src/test/run-pass/auxiliary/issue_9123.rs b/src/test/run-pass/auxiliary/issue_9123.rs
new file mode 100644 (file)
index 0000000..8c2546e
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+pub trait X {
+    fn x() {
+        fn f() { }
+        f();
+    }
+    fn dummy(&self) { }
+}
diff --git a/src/test/run-pass/auxiliary/issue_9155.rs b/src/test/run-pass/auxiliary/issue_9155.rs
new file mode 100644 (file)
index 0000000..486eb8f
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Foo<T>(T);
+
+impl<T> Foo<T> {
+    pub fn new(t: T) -> Foo<T> {
+        Foo(t)
+    }
+}
diff --git a/src/test/run-pass/auxiliary/issue_9188.rs b/src/test/run-pass/auxiliary/issue_9188.rs
new file mode 100644 (file)
index 0000000..8ff85cc
--- /dev/null
@@ -0,0 +1,23 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub fn foo<T>() -> &'static isize {
+    if false {
+        static a: isize = 4;
+        return &a;
+    } else {
+        static a: isize = 5;
+        return &a;
+    }
+}
+
+pub fn bar() -> &'static isize {
+    foo::<isize>()
+}
diff --git a/src/test/run-pass/auxiliary/kinds_in_metadata.rs b/src/test/run-pass/auxiliary/kinds_in_metadata.rs
new file mode 100644 (file)
index 0000000..82f182c
--- /dev/null
@@ -0,0 +1,18 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Tests that metadata serialization works for the `Copy` kind.
+
+#![crate_type="lib"]
+
+pub fn f<T:Copy>() {}
diff --git a/src/test/run-pass/auxiliary/linkage1.rs b/src/test/run-pass/auxiliary/linkage1.rs
new file mode 100644 (file)
index 0000000..ca4046d
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#[no_mangle]
+pub static foo: isize = 3;
+
+pub fn bar() {}
diff --git a/src/test/run-pass/auxiliary/macro-include-items-expr.rs b/src/test/run-pass/auxiliary/macro-include-items-expr.rs
new file mode 100644 (file)
index 0000000..aea3c74
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// ignore-test: this is not a test
+
+1
diff --git a/src/test/run-pass/auxiliary/macro-include-items-item.rs b/src/test/run-pass/auxiliary/macro-include-items-item.rs
new file mode 100644 (file)
index 0000000..da72aae
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// ignore-test: this is not a test
+
+fn foo() { bar() }
diff --git a/src/test/run-pass/auxiliary/macro_crate_def_only.rs b/src/test/run-pass/auxiliary/macro_crate_def_only.rs
new file mode 100644 (file)
index 0000000..4f55ac4
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#[macro_export]
+macro_rules! make_a_5 {
+    () => (5)
+}
diff --git a/src/test/run-pass/auxiliary/macro_crate_nonterminal.rs b/src/test/run-pass/auxiliary/macro_crate_nonterminal.rs
new file mode 100644 (file)
index 0000000..4f75e2b
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub fn increment(x: usize) -> usize {
+    x + 1
+}
+
+#[macro_export]
+macro_rules! increment {
+    ($x:expr) => ($crate::increment($x))
+}
+
+pub fn check_local() {
+    assert_eq!(increment!(3), 4);
+}
diff --git a/src/test/run-pass/auxiliary/macro_export_inner_module.rs b/src/test/run-pass/auxiliary/macro_export_inner_module.rs
new file mode 100644 (file)
index 0000000..84e944f
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod inner {
+    #[macro_export]
+    macro_rules! foo {
+        () => (1)
+    }
+}
diff --git a/src/test/run-pass/auxiliary/macro_reexport_1.rs b/src/test/run-pass/auxiliary/macro_reexport_1.rs
new file mode 100644 (file)
index 0000000..aaeccc6
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "dylib"]
+#[macro_export]
+macro_rules! reexported {
+    () => ( 3 )
+}
diff --git a/src/test/run-pass/auxiliary/macro_reexport_2.rs b/src/test/run-pass/auxiliary/macro_reexport_2.rs
new file mode 100644 (file)
index 0000000..3918be8
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "dylib"]
+#![feature(macro_reexport)]
+
+#[macro_reexport(reexported)]
+#[macro_use] #[no_link]
+extern crate macro_reexport_1;
diff --git a/src/test/run-pass/auxiliary/macro_reexport_2_no_use.rs b/src/test/run-pass/auxiliary/macro_reexport_2_no_use.rs
new file mode 100644 (file)
index 0000000..1d3dc26
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "dylib"]
+#![feature(macro_reexport)]
+
+#[macro_reexport(reexported)]
+#[no_link]
+extern crate macro_reexport_1;
diff --git a/src/test/run-pass/auxiliary/macro_with_super_1.rs b/src/test/run-pass/auxiliary/macro_with_super_1.rs
new file mode 100644 (file)
index 0000000..fd2e52b
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+#[macro_export]
+macro_rules! declare {
+    () => (
+        pub fn aaa() {}
+
+        pub mod bbb {
+            use super::aaa;
+
+            pub fn ccc() {
+                aaa();
+            }
+        }
+    )
+}
diff --git a/src/test/run-pass/auxiliary/method_self_arg1.rs b/src/test/run-pass/auxiliary/method_self_arg1.rs
new file mode 100644 (file)
index 0000000..348b71f
--- /dev/null
@@ -0,0 +1,48 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+#![allow(unknown_features)]
+#![feature(box_syntax)]
+
+static mut COUNT: u64 = 1;
+
+pub fn get_count() -> u64 { unsafe { COUNT } }
+
+#[derive(Copy, Clone)]
+pub struct Foo;
+
+impl Foo {
+    pub fn foo(self, x: &Foo) {
+        unsafe { COUNT *= 2; }
+        // Test internal call.
+        Foo::bar(&self);
+        Foo::bar(x);
+
+        Foo::baz(self);
+        Foo::baz(*x);
+
+        Foo::qux(box self);
+        Foo::qux(box *x);
+    }
+
+    pub fn bar(&self) {
+        unsafe { COUNT *= 3; }
+    }
+
+    pub fn baz(self) {
+        unsafe { COUNT *= 5; }
+    }
+
+    pub fn qux(self: Box<Foo>) {
+        unsafe { COUNT *= 7; }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/method_self_arg2.rs b/src/test/run-pass/auxiliary/method_self_arg2.rs
new file mode 100644 (file)
index 0000000..b67ec1b
--- /dev/null
@@ -0,0 +1,65 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+#![allow(unknown_features)]
+#![feature(box_syntax)]
+
+static mut COUNT: u64 = 1;
+
+pub fn get_count() -> u64 { unsafe { COUNT } }
+
+#[derive(Copy, Clone)]
+pub struct Foo;
+
+impl Foo {
+    pub fn run_trait(self) {
+        unsafe { COUNT *= 17; }
+        // Test internal call.
+        Bar::foo1(&self);
+        Bar::foo2(self);
+        Bar::foo3(box self);
+
+        Bar::bar1(&self);
+        Bar::bar2(self);
+        Bar::bar3(box self);
+    }
+}
+
+pub trait Bar : Sized {
+    fn foo1(&self);
+    fn foo2(self);
+    fn foo3(self: Box<Self>);
+
+    fn bar1(&self) {
+        unsafe { COUNT *= 7; }
+    }
+    fn bar2(self) {
+        unsafe { COUNT *= 11; }
+    }
+    fn bar3(self: Box<Self>) {
+        unsafe { COUNT *= 13; }
+    }
+}
+
+impl Bar for Foo {
+    fn foo1(&self) {
+        unsafe { COUNT *= 2; }
+    }
+
+    fn foo2(self) {
+        unsafe { COUNT *= 3; }
+    }
+
+    fn foo3(self: Box<Foo>) {
+        unsafe { COUNT *= 5; }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/mir_external_refs.rs b/src/test/run-pass/auxiliary/mir_external_refs.rs
new file mode 100644 (file)
index 0000000..4cad980
--- /dev/null
@@ -0,0 +1,28 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+
+pub struct S(pub u8);
+
+impl S {
+    pub fn hey() -> u8 { 24 }
+}
+
+pub trait X {
+    fn hoy(&self) -> u8 { 25 }
+}
+
+impl X for S {}
+
+pub enum E {
+    U(u8)
+}
+
+pub fn regular_fn() -> u8 { 12 }
diff --git a/src/test/run-pass/auxiliary/moves_based_on_type_lib.rs b/src/test/run-pass/auxiliary/moves_based_on_type_lib.rs
new file mode 100644 (file)
index 0000000..f95be3f
--- /dev/null
@@ -0,0 +1,27 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub struct S {
+    x: isize,
+}
+
+impl Drop for S {
+    fn drop(&mut self) {
+        println!("goodbye");
+    }
+}
+
+pub fn f() {
+    let x = S { x: 1 };
+    let y = x;
+    let _z = y;
+}
diff --git a/src/test/run-pass/auxiliary/msvc-data-only-lib.rs b/src/test/run-pass/auxiliary/msvc-data-only-lib.rs
new file mode 100644 (file)
index 0000000..71fb9a5
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+#![crate_type = "rlib"]
+
+pub static FOO: i32 = 42;
diff --git a/src/test/run-pass/auxiliary/namespaced_enum_emulate_flat.rs b/src/test/run-pass/auxiliary/namespaced_enum_emulate_flat.rs
new file mode 100644 (file)
index 0000000..b7bde4a
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub use Foo::*;
+
+pub enum Foo {
+    A,
+    B(isize),
+    C { a: isize },
+}
+
+impl Foo {
+    pub fn foo() {}
+}
+
+pub mod nest {
+    pub use self::Bar::*;
+
+    pub enum Bar {
+        D,
+        E(isize),
+        F { a: isize },
+    }
+
+    impl Bar {
+        pub fn foo() {}
+    }
+}
diff --git a/src/test/run-pass/auxiliary/namespaced_enums.rs b/src/test/run-pass/auxiliary/namespaced_enums.rs
new file mode 100644 (file)
index 0000000..3bf39b7
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub enum Foo {
+    A,
+    B(isize),
+    C { a: isize },
+}
+
+impl Foo {
+    pub fn foo() {}
+    pub fn bar(&self) {}
+}
diff --git a/src/test/run-pass/auxiliary/nested_item.rs b/src/test/run-pass/auxiliary/nested_item.rs
new file mode 100644 (file)
index 0000000..63639c4
--- /dev/null
@@ -0,0 +1,40 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// original problem
+pub fn foo<T>() -> isize {
+    {
+        static foo: isize = 2;
+        foo
+    }
+}
+
+// issue 8134
+struct Foo;
+impl Foo {
+    pub fn foo<T>(&self) {
+        static X: usize = 1;
+    }
+}
+
+// issue 8134
+pub struct Parser<T>(T);
+impl<T: std::iter::Iterator<Item=char>> Parser<T> {
+    fn in_doctype(&mut self) {
+        static DOCTYPEPattern: [char; 6] = ['O', 'C', 'T', 'Y', 'P', 'E'];
+    }
+}
+
+struct Bar;
+impl Foo {
+    pub fn bar<T>(&self) {
+        static X: usize = 1;
+    }
+}
diff --git a/src/test/run-pass/auxiliary/newtype_struct_xc.rs b/src/test/run-pass/auxiliary/newtype_struct_xc.rs
new file mode 100644 (file)
index 0000000..be3414b
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub struct Au(pub isize);
diff --git a/src/test/run-pass/auxiliary/overloaded_autoderef_xc.rs b/src/test/run-pass/auxiliary/overloaded_autoderef_xc.rs
new file mode 100644 (file)
index 0000000..3c8cba1
--- /dev/null
@@ -0,0 +1,40 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use std::ops::Deref;
+
+struct DerefWithHelper<H, T> {
+    pub helper: H,
+    pub value: Option<T>
+}
+
+trait Helper<T> {
+    fn helper_borrow(&self) -> &T;
+}
+
+impl<T> Helper<T> for Option<T> {
+    fn helper_borrow(&self) -> &T {
+        self.as_ref().unwrap()
+    }
+}
+
+impl<T, H: Helper<T>> Deref for DerefWithHelper<H, T> {
+    type Target = T;
+
+    fn deref(&self) -> &T {
+        self.helper.helper_borrow()
+    }
+}
+
+// Test cross-crate autoderef + vtable.
+pub fn check<T: PartialEq>(x: T, y: T) -> bool {
+    let d: DerefWithHelper<Option<T>, T> = DerefWithHelper { helper: Some(x), value: None };
+    d.eq(&y)
+}
diff --git a/src/test/run-pass/auxiliary/packed.rs b/src/test/run-pass/auxiliary/packed.rs
new file mode 100644 (file)
index 0000000..86f5f93
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#[repr(packed)]
+pub struct S {
+    a: u8,
+    b: u32
+}
diff --git a/src/test/run-pass/auxiliary/priv-impl-prim-ty.rs b/src/test/run-pass/auxiliary/priv-impl-prim-ty.rs
new file mode 100644 (file)
index 0000000..19cdede
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait A {
+    fn frob(&self);
+}
+
+impl A for isize { fn frob(&self) {} }
+
+pub fn frob<T:A>(t: T) {
+    t.frob();
+}
diff --git a/src/test/run-pass/auxiliary/privacy_reexport.rs b/src/test/run-pass/auxiliary/privacy_reexport.rs
new file mode 100644 (file)
index 0000000..fd97f21
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub extern crate core;
+pub use foo as bar;
+
+pub mod foo {
+    pub fn frob() {}
+}
diff --git a/src/test/run-pass/auxiliary/pub_use_mods_xcrate.rs b/src/test/run-pass/auxiliary/pub_use_mods_xcrate.rs
new file mode 100644 (file)
index 0000000..e4890f4
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod a {
+    pub use a::b::c;
+
+    pub mod b {
+        pub mod c {
+            fn f(){}
+            fn g(){}
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/pub_use_xcrate1.rs b/src/test/run-pass/auxiliary/pub_use_xcrate1.rs
new file mode 100644 (file)
index 0000000..41aafd6
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Foo {
+    pub name: isize
+}
diff --git a/src/test/run-pass/auxiliary/pub_use_xcrate2.rs b/src/test/run-pass/auxiliary/pub_use_xcrate2.rs
new file mode 100644 (file)
index 0000000..d59d7f2
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+extern crate pub_use_xcrate1;
+
+pub use pub_use_xcrate1::Foo;
diff --git a/src/test/run-pass/auxiliary/reachable-unnameable-items.rs b/src/test/run-pass/auxiliary/reachable-unnameable-items.rs
new file mode 100644 (file)
index 0000000..7ec2bb9
--- /dev/null
@@ -0,0 +1,116 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use inner_private_module::*;
+
+mod inner_private_module {
+    pub struct Unnameable1;
+    pub struct Unnameable2;
+    #[derive(Clone, Copy)]
+    pub struct Unnameable3;
+    pub struct Unnameable4;
+    pub struct Unnameable5;
+    pub struct Unnameable6;
+    pub struct Unnameable7;
+    #[derive(Default)]
+    pub struct Unnameable8;
+    pub enum UnnameableEnum {
+        NameableVariant
+    }
+    pub trait UnnameableTrait {
+        type Alias: Default;
+    }
+
+    impl Unnameable1 {
+        pub fn method_of_unnameable_type1(&self) -> &'static str {
+            "Hello1"
+        }
+    }
+    impl Unnameable2 {
+        pub fn method_of_unnameable_type2(&self) -> &'static str {
+            "Hello2"
+        }
+    }
+    impl Unnameable3 {
+        pub fn method_of_unnameable_type3(&self) -> &'static str {
+            "Hello3"
+        }
+    }
+    impl Unnameable4 {
+        pub fn method_of_unnameable_type4(&self) -> &'static str {
+            "Hello4"
+        }
+    }
+    impl Unnameable5 {
+        pub fn method_of_unnameable_type5(&self) -> &'static str {
+            "Hello5"
+        }
+    }
+    impl Unnameable6 {
+        pub fn method_of_unnameable_type6(&self) -> &'static str {
+            "Hello6"
+        }
+    }
+    impl Unnameable7 {
+        pub fn method_of_unnameable_type7(&self) -> &'static str {
+            "Hello7"
+        }
+    }
+    impl Unnameable8 {
+        pub fn method_of_unnameable_type8(&self) -> &'static str {
+            "Hello8"
+        }
+    }
+    impl UnnameableEnum {
+        pub fn method_of_unnameable_enum(&self) -> &'static str {
+            "HelloEnum"
+        }
+    }
+}
+
+pub fn function_returning_unnameable_type() -> Unnameable1 {
+    Unnameable1
+}
+
+pub const CONSTANT_OF_UNNAMEABLE_TYPE: Unnameable2 =
+                                            Unnameable2;
+
+pub fn function_accepting_unnameable_type(_: Option<Unnameable3>) {}
+
+pub type AliasOfUnnameableType = Unnameable4;
+
+impl Unnameable1 {
+    pub fn inherent_method_returning_unnameable_type(&self) -> Unnameable5 {
+        Unnameable5
+    }
+}
+
+pub trait Tr {
+    fn trait_method_returning_unnameable_type(&self) -> Unnameable6 {
+        Unnameable6
+    }
+}
+impl Tr for Unnameable1 {}
+
+pub use inner_private_module::UnnameableEnum::NameableVariant;
+
+pub struct Struct {
+    pub field_of_unnameable_type: Unnameable7
+}
+
+pub static STATIC: Struct = Struct { field_of_unnameable_type: Unnameable7 } ;
+
+impl UnnameableTrait for AliasOfUnnameableType {
+    type Alias = Unnameable8;
+}
+
+pub fn generic_function<T: UnnameableTrait>() -> T::Alias {
+    Default::default()
+}
diff --git a/src/test/run-pass/auxiliary/reexport-should-still-link.rs b/src/test/run-pass/auxiliary/reexport-should-still-link.rs
new file mode 100644 (file)
index 0000000..9d5464e
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub use foo::bar;
+
+mod foo {
+    pub fn bar() {}
+}
diff --git a/src/test/run-pass/auxiliary/reexported_static_methods.rs b/src/test/run-pass/auxiliary/reexported_static_methods.rs
new file mode 100644 (file)
index 0000000..cc4db1a
--- /dev/null
@@ -0,0 +1,53 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub use sub_foo::Foo;
+pub use self::Bar as Baz;
+pub use sub_foo::Boz;
+pub use sub_foo::Bort;
+
+pub trait Bar {
+    fn bar() -> Self;
+}
+
+impl Bar for isize {
+    fn bar() -> isize { 84 }
+}
+
+pub mod sub_foo {
+    pub trait Foo {
+        fn foo() -> Self;
+    }
+
+    impl Foo for isize {
+        fn foo() -> isize { 42 }
+    }
+
+    pub struct Boz {
+        unused_str: String
+    }
+
+    impl Boz {
+        pub fn boz(i: isize) -> bool {
+            i > 0
+        }
+    }
+
+    pub enum Bort {
+        Bort1,
+        Bort2
+    }
+
+    impl Bort {
+        pub fn bort() -> String {
+            "bort()".to_string()
+        }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/sepcomp-extern-lib.rs b/src/test/run-pass/auxiliary/sepcomp-extern-lib.rs
new file mode 100644 (file)
index 0000000..72f1f73
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#[no_mangle]
+pub extern "C" fn foo() -> usize {
+    1234
+}
diff --git a/src/test/run-pass/auxiliary/sepcomp_cci_lib.rs b/src/test/run-pass/auxiliary/sepcomp_cci_lib.rs
new file mode 100644 (file)
index 0000000..c57d161
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#[inline]
+pub fn cci_fn() -> usize {
+    1200
+}
+
+pub const CCI_CONST: usize = 34;
diff --git a/src/test/run-pass/auxiliary/sepcomp_lib.rs b/src/test/run-pass/auxiliary/sepcomp_lib.rs
new file mode 100644 (file)
index 0000000..9aa16fb
--- /dev/null
@@ -0,0 +1,31 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -C codegen-units=3 --crate-type=rlib,dylib
+
+pub mod a {
+    pub fn one() -> usize {
+        1
+    }
+}
+
+pub mod b {
+    pub fn two() -> usize {
+        2
+    }
+}
+
+pub mod c {
+    use a::one;
+    use b::two;
+    pub fn three() -> usize {
+        one() + two()
+    }
+}
diff --git a/src/test/run-pass/auxiliary/static-function-pointer-aux.rs b/src/test/run-pass/auxiliary/static-function-pointer-aux.rs
new file mode 100644 (file)
index 0000000..2ccdb4e
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+
+pub fn f(x: isize) -> isize { -x }
+
+pub static F: fn(isize) -> isize = f;
+pub static mut MutF: fn(isize) -> isize = f;
diff --git a/src/test/run-pass/auxiliary/static-methods-crate.rs b/src/test/run-pass/auxiliary/static-methods-crate.rs
new file mode 100644 (file)
index 0000000..b8fd59b
--- /dev/null
@@ -0,0 +1,39 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="static_methods_crate"]
+#![crate_type = "lib"]
+
+pub trait read: Sized {
+    fn readMaybe(s: String) -> Option<Self>;
+}
+
+impl read for isize {
+    fn readMaybe(s: String) -> Option<isize> {
+        s.parse().ok()
+    }
+}
+
+impl read for bool {
+    fn readMaybe(s: String) -> Option<bool> {
+        match &*s {
+          "true" => Some(true),
+          "false" => Some(false),
+          _ => None
+        }
+    }
+}
+
+pub fn read<T:read>(s: String) -> T {
+    match read::readMaybe(s) {
+      Some(x) => x,
+      _ => panic!("read panicked!")
+    }
+}
diff --git a/src/test/run-pass/auxiliary/static_fn_inline_xc_aux.rs b/src/test/run-pass/auxiliary/static_fn_inline_xc_aux.rs
new file mode 100644 (file)
index 0000000..2193e12
--- /dev/null
@@ -0,0 +1,23 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+
+pub mod num {
+    pub trait Num2 {
+        fn from_int2(n: isize) -> Self;
+    }
+}
+
+pub mod f64 {
+    impl ::num::Num2 for f64 {
+        #[inline]
+        fn from_int2(n: isize) -> f64 { return n as f64;  }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/static_fn_trait_xc_aux.rs b/src/test/run-pass/auxiliary/static_fn_trait_xc_aux.rs
new file mode 100644 (file)
index 0000000..44e875f
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod num {
+    pub trait Num2 {
+        fn from_int2(n: isize) -> Self;
+    }
+}
+
+pub mod f64 {
+    impl ::num::Num2 for f64 {
+        fn from_int2(n: isize) -> f64 { return n as f64;  }
+    }
+}
diff --git a/src/test/run-pass/auxiliary/static_mut_xc.rs b/src/test/run-pass/auxiliary/static_mut_xc.rs
new file mode 100644 (file)
index 0000000..9d677e3
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub static mut a: isize = 3;
diff --git a/src/test/run-pass/auxiliary/struct_destructuring_cross_crate.rs b/src/test/run-pass/auxiliary/struct_destructuring_cross_crate.rs
new file mode 100644 (file)
index 0000000..26941b7
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub struct S {
+    pub x: isize,
+    pub y: isize,
+}
diff --git a/src/test/run-pass/auxiliary/struct_variant_xc_aux.rs b/src/test/run-pass/auxiliary/struct_variant_xc_aux.rs
new file mode 100644 (file)
index 0000000..201f028
--- /dev/null
@@ -0,0 +1,18 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="struct_variant_xc_aux"]
+#![crate_type = "lib"]
+
+#[derive(Copy, Clone)]
+pub enum Enum {
+    Variant(u8),
+    StructVariant { arg: u8 }
+}
diff --git a/src/test/run-pass/auxiliary/svh-a-base.rs b/src/test/run-pass/auxiliary/svh-a-base.rs
new file mode 100644 (file)
index 0000000..31a97f6
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : isize = 2;
+
+pub fn foo<T:U>(_: isize) -> isize {
+    3
+}
+
+pub fn an_unused_name() -> isize {
+    4
+}
diff --git a/src/test/run-pass/auxiliary/svh-a-comment.rs b/src/test/run-pass/auxiliary/svh-a-comment.rs
new file mode 100644 (file)
index 0000000..22e4082
--- /dev/null
@@ -0,0 +1,36 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : isize = 2;
+
+pub fn foo<T:U>(_: isize) -> isize {
+    // a comment does not affect the svh
+    3
+}
+
+pub fn an_unused_name() -> isize {
+    4
+}
diff --git a/src/test/run-pass/auxiliary/svh-a-doc.rs b/src/test/run-pass/auxiliary/svh-a-doc.rs
new file mode 100644 (file)
index 0000000..3d8a728
--- /dev/null
@@ -0,0 +1,38 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : isize = 2;
+
+// Adding some documentation does not affect the svh.
+
+/// foo always returns three.
+pub fn foo<T:U>(_: isize) -> isize {
+    3
+}
+
+pub fn an_unused_name() -> isize {
+    4
+}
diff --git a/src/test/run-pass/auxiliary/svh-a-macro.rs b/src/test/run-pass/auxiliary/svh-a-macro.rs
new file mode 100644 (file)
index 0000000..41d7eb7
--- /dev/null
@@ -0,0 +1,37 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : isize = 2;
+
+pub fn foo<T:U>(_: isize) -> isize {
+    // a macro invocation in a function body does not affect the svh,
+    // as long as it yields the same code.
+    three!()
+}
+
+pub fn an_unused_name() -> isize {
+    4
+}
diff --git a/src/test/run-pass/auxiliary/svh-a-no-change.rs b/src/test/run-pass/auxiliary/svh-a-no-change.rs
new file mode 100644 (file)
index 0000000..31a97f6
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : isize = 2;
+
+pub fn foo<T:U>(_: isize) -> isize {
+    3
+}
+
+pub fn an_unused_name() -> isize {
+    4
+}
diff --git a/src/test/run-pass/auxiliary/svh-a-redundant-cfg.rs b/src/test/run-pass/auxiliary/svh-a-redundant-cfg.rs
new file mode 100644 (file)
index 0000000..e405c33
--- /dev/null
@@ -0,0 +1,37 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : isize = 2;
+
+// cfg attribute does not affect the svh, as long as it yields the same code.
+#[cfg(not(an_unused_name))]
+pub fn foo<T:U>(_: isize) -> isize {
+    3
+}
+
+pub fn an_unused_name() -> isize {
+    4
+}
diff --git a/src/test/run-pass/auxiliary/svh-a-whitespace.rs b/src/test/run-pass/auxiliary/svh-a-whitespace.rs
new file mode 100644 (file)
index 0000000..9ef788c
--- /dev/null
@@ -0,0 +1,37 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! The `svh-a-*.rs` files are all deviations from the base file
+//! svh-a-base.rs with some difference (usually in `fn foo`) that
+//! should not affect the strict version hash (SVH) computation
+//! (#14132).
+
+#![crate_name = "a"]
+
+macro_rules! three {
+    () => { 3 }
+}
+
+pub trait U {}
+pub trait V {}
+impl U for () {}
+impl V for () {}
+
+static A_CONSTANT : isize = 2;
+
+pub fn foo<T:U>(_: isize) -> isize {
+
+    3
+
+}
+
+pub fn an_unused_name() -> isize {
+    4
+}
diff --git a/src/test/run-pass/auxiliary/svh-b.rs b/src/test/run-pass/auxiliary/svh-b.rs
new file mode 100644 (file)
index 0000000..b8946fd
--- /dev/null
@@ -0,0 +1,23 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! This is a client of the `a` crate defined in "svn-a-base.rs".  The
+//! rpass and cfail tests (such as "run-pass/svh-add-comment.rs") use
+//! it by swapping in a different object code library crate built from
+//! some variant of "svn-a-base.rs", and then we are checking if the
+//! compiler properly ignores or accepts the change, based on whether
+//! the change could affect the downstream crate content or not
+//! (#14132).
+
+#![crate_name = "b"]
+
+extern crate a;
+
+pub fn foo() { assert_eq!(a::foo::<()>(0), 3); }
diff --git a/src/test/run-pass/auxiliary/thread-local-extern-static.rs b/src/test/run-pass/auxiliary/thread-local-extern-static.rs
new file mode 100644 (file)
index 0000000..d1971a5
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(thread_local)]
+#![feature(cfg_target_thread_local)]
+#![crate_type = "lib"]
+
+#[no_mangle]
+#[cfg_attr(target_thread_local, thread_local)]
+pub static FOO: u32 = 3;
diff --git a/src/test/run-pass/auxiliary/trait_default_method_xc_aux.rs b/src/test/run-pass/auxiliary/trait_default_method_xc_aux.rs
new file mode 100644 (file)
index 0000000..c1168a9
--- /dev/null
@@ -0,0 +1,50 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Something { pub x: isize }
+
+pub trait A {
+    fn f(&self) -> isize;
+    fn g(&self) -> isize { 10 }
+    fn h(&self) -> isize { 11 }
+    fn lurr(x: &Self, y: &Self) -> isize { x.g() + y.h() }
+}
+
+
+impl A for isize {
+    fn f(&self) -> isize { 10 }
+}
+
+impl A for Something {
+    fn f(&self) -> isize { 10 }
+}
+
+pub trait B<T> {
+    fn thing<U>(&self, x: T, y: U) -> (T, U) { (x, y) }
+    fn staticthing<U>(_z: &Self, x: T, y: U) -> (T, U) { (x, y) }
+}
+
+impl<T> B<T> for isize { }
+impl B<f64> for bool { }
+
+
+
+pub trait TestEquality {
+    fn test_eq(&self, rhs: &Self) -> bool;
+    fn test_neq(&self, rhs: &Self) -> bool {
+        !self.test_eq(rhs)
+    }
+}
+
+impl TestEquality for isize {
+    fn test_eq(&self, rhs: &isize) -> bool {
+        *self == *rhs
+    }
+}
diff --git a/src/test/run-pass/auxiliary/trait_default_method_xc_aux_2.rs b/src/test/run-pass/auxiliary/trait_default_method_xc_aux_2.rs
new file mode 100644 (file)
index 0000000..7443ef9
--- /dev/null
@@ -0,0 +1,27 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// aux-build:trait_default_method_xc_aux.rs
+
+extern crate trait_default_method_xc_aux as aux;
+use aux::A;
+
+pub struct a_struct { pub x: isize }
+
+impl A for a_struct {
+    fn f(&self) -> isize { 10 }
+}
+
+// This function will need to get inlined, and badness may result.
+pub fn welp<A>(x: A) -> A {
+    let a = a_struct { x: 0 };
+    a.g();
+    x
+}
diff --git a/src/test/run-pass/auxiliary/trait_inheritance_auto_xc_2_aux.rs b/src/test/run-pass/auxiliary/trait_inheritance_auto_xc_2_aux.rs
new file mode 100644 (file)
index 0000000..af0128d
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait Foo { fn f(&self) -> isize; }
+pub trait Bar { fn g(&self) -> isize; }
+pub trait Baz { fn h(&self) -> isize; }
+
+pub struct A { pub x: isize }
+
+impl Foo for A { fn f(&self) -> isize { 10 } }
+impl Bar for A { fn g(&self) -> isize { 20 } }
+impl Baz for A { fn h(&self) -> isize { 30 } }
diff --git a/src/test/run-pass/auxiliary/trait_inheritance_auto_xc_aux.rs b/src/test/run-pass/auxiliary/trait_inheritance_auto_xc_aux.rs
new file mode 100644 (file)
index 0000000..6be1f8c
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait Foo { fn f(&self) -> isize; }
+pub trait Bar { fn g(&self) -> isize; }
+pub trait Baz { fn h(&self) -> isize; }
+
+pub trait Quux: Foo + Bar + Baz { }
+
+impl<T:Foo + Bar + Baz> Quux for T { }
diff --git a/src/test/run-pass/auxiliary/trait_inheritance_cross_trait_call_xc_aux.rs b/src/test/run-pass/auxiliary/trait_inheritance_cross_trait_call_xc_aux.rs
new file mode 100644 (file)
index 0000000..9eeb815
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+
+pub trait Foo {
+    fn f(&self) -> isize;
+}
+
+pub struct A {
+    pub x: isize
+}
+
+impl Foo for A {
+    fn f(&self) -> isize { 10 }
+}
diff --git a/src/test/run-pass/auxiliary/trait_inheritance_overloading_xc.rs b/src/test/run-pass/auxiliary/trait_inheritance_overloading_xc.rs
new file mode 100644 (file)
index 0000000..1bfada6
--- /dev/null
@@ -0,0 +1,48 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use std::cmp::PartialEq;
+use std::ops::{Add, Sub, Mul};
+
+pub trait MyNum : Add<Output=Self> + Sub<Output=Self> + Mul<Output=Self> + PartialEq + Clone {
+}
+
+#[derive(Clone, Debug)]
+pub struct MyInt {
+    pub val: isize
+}
+
+impl Add for MyInt {
+    type Output = MyInt;
+
+    fn add(self, other: MyInt) -> MyInt { mi(self.val + other.val) }
+}
+
+impl Sub for MyInt {
+    type Output = MyInt;
+
+    fn sub(self, other: MyInt) -> MyInt { mi(self.val - other.val) }
+}
+
+impl Mul for MyInt {
+    type Output = MyInt;
+
+    fn mul(self, other: MyInt) -> MyInt { mi(self.val * other.val) }
+}
+
+impl PartialEq for MyInt {
+    fn eq(&self, other: &MyInt) -> bool { self.val == other.val }
+
+    fn ne(&self, other: &MyInt) -> bool { !self.eq(other) }
+}
+
+impl MyNum for MyInt {}
+
+fn mi(v: isize) -> MyInt { MyInt { val: v } }
diff --git a/src/test/run-pass/auxiliary/trait_safety_lib.rs b/src/test/run-pass/auxiliary/trait_safety_lib.rs
new file mode 100644 (file)
index 0000000..585a756
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Simple smoke test that unsafe traits can be compiled etc.
+
+pub unsafe trait Foo {
+    fn foo(&self) -> isize;
+}
+
+unsafe impl Foo for isize {
+    fn foo(&self) -> isize { *self }
+}
diff --git a/src/test/run-pass/auxiliary/trait_superkinds_in_metadata.rs b/src/test/run-pass/auxiliary/trait_superkinds_in_metadata.rs
new file mode 100644 (file)
index 0000000..0fa2d34
--- /dev/null
@@ -0,0 +1,18 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Test library crate for cross-crate usages of traits inheriting
+// from the builtin kinds. Mostly tests metadata correctness.
+
+#![crate_type="lib"]
+
+pub trait RequiresShare : Sync { }
+pub trait RequiresRequiresShareAndSend : RequiresShare + Send { }
+pub trait RequiresCopy : Copy { }
diff --git a/src/test/run-pass/auxiliary/traitimpl.rs b/src/test/run-pass/auxiliary/traitimpl.rs
new file mode 100644 (file)
index 0000000..22e79cc
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Test inherent trait impls work cross-crait.
+
+pub trait Bar<'a> : 'a {}
+
+impl<'a> Bar<'a> {
+    pub fn bar(&self) {}
+}
diff --git a/src/test/run-pass/auxiliary/two_macros.rs b/src/test/run-pass/auxiliary/two_macros.rs
new file mode 100644 (file)
index 0000000..060960f
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#[macro_export]
+macro_rules! macro_one { () => ("one") }
+
+#[macro_export]
+macro_rules! macro_two { () => ("two") }
diff --git a/src/test/run-pass/auxiliary/typeid-intrinsic-aux1.rs b/src/test/run-pass/auxiliary/typeid-intrinsic-aux1.rs
new file mode 100644 (file)
index 0000000..388d323
--- /dev/null
@@ -0,0 +1,34 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(core)]
+
+use std::any::{Any, TypeId};
+
+pub struct A;
+pub struct B(Option<A>);
+pub struct C(Option<isize>);
+pub struct D(Option<&'static str>);
+pub struct E(Result<&'static str, isize>);
+
+pub type F = Option<isize>;
+pub type G = usize;
+pub type H = &'static str;
+
+pub unsafe fn id_A() -> TypeId { TypeId::of::<A>() }
+pub unsafe fn id_B() -> TypeId { TypeId::of::<B>() }
+pub unsafe fn id_C() -> TypeId { TypeId::of::<C>() }
+pub unsafe fn id_D() -> TypeId { TypeId::of::<D>() }
+pub unsafe fn id_E() -> TypeId { TypeId::of::<E>() }
+pub unsafe fn id_F() -> TypeId { TypeId::of::<F>() }
+pub unsafe fn id_G() -> TypeId { TypeId::of::<G>() }
+pub unsafe fn id_H() -> TypeId { TypeId::of::<H>() }
+
+pub unsafe fn foo<T: Any>() -> TypeId { TypeId::of::<T>() }
diff --git a/src/test/run-pass/auxiliary/typeid-intrinsic-aux2.rs b/src/test/run-pass/auxiliary/typeid-intrinsic-aux2.rs
new file mode 100644 (file)
index 0000000..3ad307f
--- /dev/null
@@ -0,0 +1,34 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(core)]
+
+use std::any::{Any, TypeId};
+
+pub struct A;
+pub struct B(Option<A>);
+pub struct C(Option<isize>);
+pub struct D(Option<&'static str>);
+pub struct E(Result<&'static str, isize>);
+
+pub type F = Option<isize>;
+pub type G = usize;
+pub type H = &'static str;
+
+pub unsafe fn id_A() -> TypeId { TypeId::of::<A>() }
+pub unsafe fn id_B() -> TypeId { TypeId::of::<B>() }
+pub unsafe fn id_C() -> TypeId { TypeId::of::<C>() }
+pub unsafe fn id_D() -> TypeId { TypeId::of::<D>() }
+pub unsafe fn id_E() -> TypeId { TypeId::of::<E>() }
+pub unsafe fn id_F() -> TypeId { TypeId::of::<F>() }
+pub unsafe fn id_G() -> TypeId { TypeId::of::<G>() }
+pub unsafe fn id_H() -> TypeId { TypeId::of::<H>() }
+
+pub unsafe fn foo<T:Any>() -> TypeId { TypeId::of::<T>() }
diff --git a/src/test/run-pass/auxiliary/unboxed-closures-cross-crate.rs b/src/test/run-pass/auxiliary/unboxed-closures-cross-crate.rs
new file mode 100644 (file)
index 0000000..dac20dd
--- /dev/null
@@ -0,0 +1,28 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(unboxed_closures)]
+
+use std::ops::Add;
+
+#[inline]
+pub fn has_closures() -> usize {
+    let x = 1;
+    let mut f = move || x;
+    let y = 1;
+    let g = || y;
+    f() + g()
+}
+
+pub fn has_generic_closures<T: Add<Output=T> + Copy>(x: T, y: T) -> T {
+    let mut f = move || x;
+    let g = || y;
+    f() + g()
+}
diff --git a/src/test/run-pass/auxiliary/weak-lang-items.rs b/src/test/run-pass/auxiliary/weak-lang-items.rs
new file mode 100644 (file)
index 0000000..6434e62
--- /dev/null
@@ -0,0 +1,32 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// no-prefer-dynamic
+
+// This aux-file will require the eh_personality function to be codegen'd, but
+// it hasn't been defined just yet. Make sure we don't explode.
+
+#![no_std]
+#![crate_type = "rlib"]
+
+struct A;
+
+impl core::ops::Drop for A {
+    fn drop(&mut self) {}
+}
+
+pub fn foo() {
+    let _a = A;
+    panic!("wut");
+}
+
+mod std {
+    pub use core::{option, fmt};
+}
diff --git a/src/test/run-pass/auxiliary/where_clauses_xc.rs b/src/test/run-pass/auxiliary/where_clauses_xc.rs
new file mode 100644 (file)
index 0000000..4549bd7
--- /dev/null
@@ -0,0 +1,29 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait Equal {
+    fn equal(&self, other: &Self) -> bool;
+    fn equals<T,U>(&self, this: &T, that: &T, x: &U, y: &U) -> bool
+            where T: Eq, U: Eq;
+}
+
+impl<T> Equal for T where T: Eq {
+    fn equal(&self, other: &T) -> bool {
+        self == other
+    }
+    fn equals<U,X>(&self, this: &U, other: &U, x: &X, y: &X) -> bool
+            where U: Eq, X: Eq {
+        this == other && x == y
+    }
+}
+
+pub fn equal<T>(x: &T, y: &T) -> bool where T: Eq {
+    x == y
+}
diff --git a/src/test/run-pass/auxiliary/xcrate-trait-lifetime-param.rs b/src/test/run-pass/auxiliary/xcrate-trait-lifetime-param.rs
new file mode 100644 (file)
index 0000000..e8e5cc5
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub trait FromBuf<'a> {
+    fn from_buf(&'a [u8]) -> Self;
+}
diff --git a/src/test/run-pass/auxiliary/xcrate_address_insignificant.rs b/src/test/run-pass/auxiliary/xcrate_address_insignificant.rs
new file mode 100644 (file)
index 0000000..5195839
--- /dev/null
@@ -0,0 +1,18 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub fn foo<T>() -> isize {
+    static a: isize = 3;
+    a
+}
+
+pub fn bar() -> isize {
+    foo::<isize>()
+}
diff --git a/src/test/run-pass/auxiliary/xcrate_associated_type_defaults.rs b/src/test/run-pass/auxiliary/xcrate_associated_type_defaults.rs
new file mode 100644 (file)
index 0000000..6779438
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(associated_type_defaults)]
+
+pub trait Foo<T: Default + ToString> {
+    type Out: Default + ToString = T;
+}
+
+impl Foo<u32> for () {
+}
+
+impl Foo<u64> for () {
+    type Out = bool;
+}
diff --git a/src/test/run-pass/auxiliary/xcrate_static_addresses.rs b/src/test/run-pass/auxiliary/xcrate_static_addresses.rs
new file mode 100644 (file)
index 0000000..d0da80e
--- /dev/null
@@ -0,0 +1,27 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub static global: isize = 3;
+
+static global0: isize = 4;
+
+pub static global2: &'static isize = &global0;
+
+pub fn verify_same(a: &'static isize) {
+    let a = a as *const isize as usize;
+    let b = &global as *const isize as usize;
+    assert_eq!(a, b);
+}
+
+pub fn verify_same2(a: &'static isize) {
+    let a = a as *const isize as usize;
+    let b = global2 as *const isize as usize;
+    assert_eq!(a, b);
+}
diff --git a/src/test/run-pass/auxiliary/xcrate_struct_aliases.rs b/src/test/run-pass/auxiliary/xcrate_struct_aliases.rs
new file mode 100644 (file)
index 0000000..334f782
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct S {
+    pub x: isize,
+    pub y: isize,
+}
+
+pub type S2 = S;
diff --git a/src/test/run-pass/auxiliary/xcrate_unit_struct.rs b/src/test/run-pass/auxiliary/xcrate_unit_struct.rs
new file mode 100644 (file)
index 0000000..7a69be2
--- /dev/null
@@ -0,0 +1,38 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "lib"]
+
+// used by the rpass test
+
+#[derive(Copy, Clone)]
+pub struct Struct;
+
+#[derive(Copy, Clone)]
+pub enum Unit {
+    UnitVariant,
+    Argument(Struct)
+}
+
+#[derive(Copy, Clone)]
+pub struct TupleStruct(pub usize, pub &'static str);
+
+// used by the cfail test
+
+#[derive(Copy, Clone)]
+pub struct StructWithFields {
+    foo: isize,
+}
+
+#[derive(Copy, Clone)]
+pub enum EnumWithVariants {
+    EnumVariant,
+    EnumVariantArg(isize)
+}
diff --git a/src/test/run-pass/import-crate-with-invalid-spans/aux/crate_with_invalid_spans.rs b/src/test/run-pass/import-crate-with-invalid-spans/aux/crate_with_invalid_spans.rs
deleted file mode 100644 (file)
index b37533d..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type = "rlib"]
-// no-prefer-dynamic
-
-// compile-flags: -g
-
-#[macro_use]
-mod crate_with_invalid_spans_macros;
-
-pub fn exported_generic<T>(x: T, y: u32) -> (T, u32) {
-    // Using the add1 macro will produce an invalid span, because the `y` passed
-    // to the macro will have a span from this file, but the rest of the code
-    // generated from the macro will have spans from the macro-defining file.
-    // The AST node for the (1 + y) expression generated by the macro will then
-    // take it's `lo` span bound from the `1` literal in the macro-defining file
-    // and it's `hi` bound from `y` in this file, which should be lower than the
-    // `lo` and even lower than the lower bound of the FileMap it is supposedly
-    // contained in because the FileMap for this file was allocated earlier than
-    // the FileMap of the macro-defining file.
-    return (x, add1!(y));
-}
diff --git a/src/test/run-pass/import-crate-with-invalid-spans/aux/crate_with_invalid_spans_macros.rs b/src/test/run-pass/import-crate-with-invalid-spans/aux/crate_with_invalid_spans_macros.rs
deleted file mode 100644 (file)
index 112315a..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-macro_rules! add1 {
-    ($e:expr) => ({
-        let a = 1 + $e;
-        let b = $e + 1;
-        a + b - 1
-    })
-}
diff --git a/src/test/run-pass/import-crate-with-invalid-spans/auxiliary/crate_with_invalid_spans.rs b/src/test/run-pass/import-crate-with-invalid-spans/auxiliary/crate_with_invalid_spans.rs
new file mode 100644 (file)
index 0000000..b37533d
--- /dev/null
@@ -0,0 +1,30 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type = "rlib"]
+// no-prefer-dynamic
+
+// compile-flags: -g
+
+#[macro_use]
+mod crate_with_invalid_spans_macros;
+
+pub fn exported_generic<T>(x: T, y: u32) -> (T, u32) {
+    // Using the add1 macro will produce an invalid span, because the `y` passed
+    // to the macro will have a span from this file, but the rest of the code
+    // generated from the macro will have spans from the macro-defining file.
+    // The AST node for the (1 + y) expression generated by the macro will then
+    // take it's `lo` span bound from the `1` literal in the macro-defining file
+    // and it's `hi` bound from `y` in this file, which should be lower than the
+    // `lo` and even lower than the lower bound of the FileMap it is supposedly
+    // contained in because the FileMap for this file was allocated earlier than
+    // the FileMap of the macro-defining file.
+    return (x, add1!(y));
+}
diff --git a/src/test/run-pass/import-crate-with-invalid-spans/auxiliary/crate_with_invalid_spans_macros.rs b/src/test/run-pass/import-crate-with-invalid-spans/auxiliary/crate_with_invalid_spans_macros.rs
new file mode 100644 (file)
index 0000000..112315a
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+macro_rules! add1 {
+    ($e:expr) => ({
+        let a = 1 + $e;
+        let b = $e + 1;
+        a + b - 1
+    })
+}
diff --git a/src/test/run-pass/issue24687-embed-debuginfo/aux/issue24687_lib.rs b/src/test/run-pass/issue24687-embed-debuginfo/aux/issue24687_lib.rs
deleted file mode 100644 (file)
index f1624fd..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-// This is a file that pulls in a separate file as a submodule, where
-// that separate file has many multi-byte characters, to try to
-// encourage the compiler to trip on them.
-
-mod issue24687_mbcs_in_comments;
-
-pub use issue24687_mbcs_in_comments::D;
-
diff --git a/src/test/run-pass/issue24687-embed-debuginfo/aux/issue24687_mbcs_in_comments.rs b/src/test/run-pass/issue24687-embed-debuginfo/aux/issue24687_mbcs_in_comments.rs
deleted file mode 100644 (file)
index 8dc243a..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use std::fmt;
-
-// This ia file with many multi-byte characters, to try to encourage
-// the compiler to trip on them.  The Drop implementation below will
-// need to have its source location embedded into the debug info for
-// the output file.
-
-// Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±
-// Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²
-// Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³
-// Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´
-// ÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµ
-
-// Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶
-// Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·
-// Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸
-// Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹
-// ÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎº
-
-pub struct D<X:fmt::Debug>(pub X);
-
-impl<X:fmt::Debug> Drop for D<X> {
-    fn drop(&mut self) {
-        // Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»
-        println!("Dropping D({:?})", self.0);
-    }
-}
diff --git a/src/test/run-pass/issue24687-embed-debuginfo/auxiliary/issue24687_lib.rs b/src/test/run-pass/issue24687-embed-debuginfo/auxiliary/issue24687_lib.rs
new file mode 100644 (file)
index 0000000..f1624fd
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+// This is a file that pulls in a separate file as a submodule, where
+// that separate file has many multi-byte characters, to try to
+// encourage the compiler to trip on them.
+
+mod issue24687_mbcs_in_comments;
+
+pub use issue24687_mbcs_in_comments::D;
+
diff --git a/src/test/run-pass/issue24687-embed-debuginfo/auxiliary/issue24687_mbcs_in_comments.rs b/src/test/run-pass/issue24687-embed-debuginfo/auxiliary/issue24687_mbcs_in_comments.rs
new file mode 100644 (file)
index 0000000..8dc243a
--- /dev/null
@@ -0,0 +1,37 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use std::fmt;
+
+// This ia file with many multi-byte characters, to try to encourage
+// the compiler to trip on them.  The Drop implementation below will
+// need to have its source location embedded into the debug info for
+// the output file.
+
+// Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±Î±
+// Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²Î²
+// Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³Î³
+// Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´Î´
+// ÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµÎµ
+
+// Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶Î¶
+// Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·Î·
+// Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸Î¸
+// Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹Î¹
+// ÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎºÎº
+
+pub struct D<X:fmt::Debug>(pub X);
+
+impl<X:fmt::Debug> Drop for D<X> {
+    fn drop(&mut self) {
+        // Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»Î»
+        println!("Dropping D({:?})", self.0);
+    }
+}
index a2e1d86a9901acb2cc03130234475c46c485cdaf..1e31c85afad622d43c405bdbc3bf330f712da2d5 100644 (file)
@@ -12,9 +12,9 @@
 
 fn bar() {}
 
-include!(concat!("", "", "aux/", "macro-include-items-item.rs"));
+include!(concat!("", "", "auxiliary/", "macro-include-items-item.rs"));
 
 fn main() {
     foo();
-    assert_eq!(include!(concat!("", "aux/", "macro-include-items-expr.rs")), 1_usize);
+    assert_eq!(include!(concat!("", "auxiliary/", "macro-include-items-expr.rs")), 1_usize);
 }
diff --git a/src/test/run-pass/specialization/aux/go_trait.rs b/src/test/run-pass/specialization/aux/go_trait.rs
deleted file mode 100644 (file)
index 044bb60..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(specialization)]
-
-// Common code used for tests that model the Fn/FnMut/FnOnce hierarchy.
-
-pub trait Go {
-    fn go(&self, arg: isize);
-}
-
-pub fn go<G:Go>(this: &G, arg: isize) {
-    this.go(arg)
-}
-
-pub trait GoMut {
-    fn go_mut(&mut self, arg: isize);
-}
-
-pub fn go_mut<G:GoMut>(this: &mut G, arg: isize) {
-    this.go_mut(arg)
-}
-
-pub trait GoOnce {
-    fn go_once(self, arg: isize);
-}
-
-pub fn go_once<G:GoOnce>(this: G, arg: isize) {
-    this.go_once(arg)
-}
-
-impl<G> GoMut for G
-    where G : Go
-{
-    default fn go_mut(&mut self, arg: isize) {
-        go(&*self, arg)
-    }
-}
-
-impl<G> GoOnce for G
-    where G : GoMut
-{
-    default fn go_once(mut self, arg: isize) {
-        go_mut(&mut self, arg)
-    }
-}
diff --git a/src/test/run-pass/specialization/aux/specialization_cross_crate.rs b/src/test/run-pass/specialization/aux/specialization_cross_crate.rs
deleted file mode 100644 (file)
index 1d23533..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(specialization)]
-
-pub trait Foo {
-    fn foo(&self) -> &'static str;
-}
-
-impl<T> Foo for T {
-    default fn foo(&self) -> &'static str {
-        "generic"
-    }
-}
-
-impl<T: Clone> Foo for T {
-    default fn foo(&self) -> &'static str {
-        "generic Clone"
-    }
-}
-
-impl<T, U> Foo for (T, U) where T: Clone, U: Clone {
-    default fn foo(&self) -> &'static str {
-        "generic pair"
-    }
-}
-
-impl<T: Clone> Foo for (T, T) {
-    default fn foo(&self) -> &'static str {
-        "generic uniform pair"
-    }
-}
-
-impl Foo for (u8, u32) {
-    default fn foo(&self) -> &'static str {
-        "(u8, u32)"
-    }
-}
-
-impl Foo for (u8, u8) {
-    default fn foo(&self) -> &'static str {
-        "(u8, u8)"
-    }
-}
-
-impl<T: Clone> Foo for Vec<T> {
-    default fn foo(&self) -> &'static str {
-        "generic Vec"
-    }
-}
-
-impl Foo for Vec<i32> {
-    fn foo(&self) -> &'static str {
-        "Vec<i32>"
-    }
-}
-
-impl Foo for String {
-    fn foo(&self) -> &'static str {
-        "String"
-    }
-}
-
-impl Foo for i32 {
-    fn foo(&self) -> &'static str {
-        "i32"
-    }
-}
-
-pub trait MyMarker {}
-impl<T: Clone + MyMarker> Foo for T {
-    default fn foo(&self) -> &'static str {
-        "generic Clone + MyMarker"
-    }
-}
diff --git a/src/test/run-pass/specialization/aux/specialization_cross_crate_defaults.rs b/src/test/run-pass/specialization/aux/specialization_cross_crate_defaults.rs
deleted file mode 100644 (file)
index b62d80b..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-
-#![feature(specialization)]
-
-// First, test only use of explicit `default` items:
-
-pub trait Foo {
-    fn foo(&self) -> bool;
-}
-
-impl<T> Foo for T {
-    default fn foo(&self) -> bool { false }
-}
-
-impl Foo for i32 {}
-
-impl Foo for i64 {
-    fn foo(&self) -> bool { true }
-}
-
-// Next, test mixture of explicit `default` and provided methods:
-
-pub trait Bar {
-    fn bar(&self) -> i32 { 0 }
-}
-
-impl<T> Bar for T {} // use the provided method
-
-impl Bar for i32 {
-    fn bar(&self) -> i32 { 1 }
-}
-impl<'a> Bar for &'a str {}
-
-impl<T> Bar for Vec<T> {
-    default fn bar(&self) -> i32 { 2 }
-}
-impl Bar for Vec<i32> {}
-impl Bar for Vec<i64> {
-    fn bar(&self) -> i32 { 3 }
-}
diff --git a/src/test/run-pass/specialization/auxiliary/go_trait.rs b/src/test/run-pass/specialization/auxiliary/go_trait.rs
new file mode 100644 (file)
index 0000000..044bb60
--- /dev/null
@@ -0,0 +1,53 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(specialization)]
+
+// Common code used for tests that model the Fn/FnMut/FnOnce hierarchy.
+
+pub trait Go {
+    fn go(&self, arg: isize);
+}
+
+pub fn go<G:Go>(this: &G, arg: isize) {
+    this.go(arg)
+}
+
+pub trait GoMut {
+    fn go_mut(&mut self, arg: isize);
+}
+
+pub fn go_mut<G:GoMut>(this: &mut G, arg: isize) {
+    this.go_mut(arg)
+}
+
+pub trait GoOnce {
+    fn go_once(self, arg: isize);
+}
+
+pub fn go_once<G:GoOnce>(this: G, arg: isize) {
+    this.go_once(arg)
+}
+
+impl<G> GoMut for G
+    where G : Go
+{
+    default fn go_mut(&mut self, arg: isize) {
+        go(&*self, arg)
+    }
+}
+
+impl<G> GoOnce for G
+    where G : GoMut
+{
+    default fn go_once(mut self, arg: isize) {
+        go_mut(&mut self, arg)
+    }
+}
diff --git a/src/test/run-pass/specialization/auxiliary/specialization_cross_crate.rs b/src/test/run-pass/specialization/auxiliary/specialization_cross_crate.rs
new file mode 100644 (file)
index 0000000..1d23533
--- /dev/null
@@ -0,0 +1,82 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(specialization)]
+
+pub trait Foo {
+    fn foo(&self) -> &'static str;
+}
+
+impl<T> Foo for T {
+    default fn foo(&self) -> &'static str {
+        "generic"
+    }
+}
+
+impl<T: Clone> Foo for T {
+    default fn foo(&self) -> &'static str {
+        "generic Clone"
+    }
+}
+
+impl<T, U> Foo for (T, U) where T: Clone, U: Clone {
+    default fn foo(&self) -> &'static str {
+        "generic pair"
+    }
+}
+
+impl<T: Clone> Foo for (T, T) {
+    default fn foo(&self) -> &'static str {
+        "generic uniform pair"
+    }
+}
+
+impl Foo for (u8, u32) {
+    default fn foo(&self) -> &'static str {
+        "(u8, u32)"
+    }
+}
+
+impl Foo for (u8, u8) {
+    default fn foo(&self) -> &'static str {
+        "(u8, u8)"
+    }
+}
+
+impl<T: Clone> Foo for Vec<T> {
+    default fn foo(&self) -> &'static str {
+        "generic Vec"
+    }
+}
+
+impl Foo for Vec<i32> {
+    fn foo(&self) -> &'static str {
+        "Vec<i32>"
+    }
+}
+
+impl Foo for String {
+    fn foo(&self) -> &'static str {
+        "String"
+    }
+}
+
+impl Foo for i32 {
+    fn foo(&self) -> &'static str {
+        "i32"
+    }
+}
+
+pub trait MyMarker {}
+impl<T: Clone + MyMarker> Foo for T {
+    default fn foo(&self) -> &'static str {
+        "generic Clone + MyMarker"
+    }
+}
diff --git a/src/test/run-pass/specialization/auxiliary/specialization_cross_crate_defaults.rs b/src/test/run-pass/specialization/auxiliary/specialization_cross_crate_defaults.rs
new file mode 100644 (file)
index 0000000..b62d80b
--- /dev/null
@@ -0,0 +1,49 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+
+#![feature(specialization)]
+
+// First, test only use of explicit `default` items:
+
+pub trait Foo {
+    fn foo(&self) -> bool;
+}
+
+impl<T> Foo for T {
+    default fn foo(&self) -> bool { false }
+}
+
+impl Foo for i32 {}
+
+impl Foo for i64 {
+    fn foo(&self) -> bool { true }
+}
+
+// Next, test mixture of explicit `default` and provided methods:
+
+pub trait Bar {
+    fn bar(&self) -> i32 { 0 }
+}
+
+impl<T> Bar for T {} // use the provided method
+
+impl Bar for i32 {
+    fn bar(&self) -> i32 { 1 }
+}
+impl<'a> Bar for &'a str {}
+
+impl<T> Bar for Vec<T> {
+    default fn bar(&self) -> i32 { 2 }
+}
+impl Bar for Vec<i32> {}
+impl Bar for Vec<i64> {
+    fn bar(&self) -> i32 { 3 }
+}
diff --git a/src/test/rustdoc/aux/empty.rs b/src/test/rustdoc/aux/empty.rs
deleted file mode 100644 (file)
index 3066947..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
diff --git a/src/test/rustdoc/aux/inline-default-methods.rs b/src/test/rustdoc/aux/inline-default-methods.rs
deleted file mode 100644 (file)
index e21e6ad..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -Cmetadata=aux
-
-pub trait Foo {
-    fn bar(&self);
-    fn foo(&mut self) {}
-}
diff --git a/src/test/rustdoc/aux/issue-13698.rs b/src/test/rustdoc/aux/issue-13698.rs
deleted file mode 100644 (file)
index ecddfe9..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -Cmetadata=aux
-
-pub trait Foo {
-    #[doc(hidden)]
-    fn foo(&self) {}
-}
-
-impl Foo for i32 {}
diff --git a/src/test/rustdoc/aux/issue-15318.rs b/src/test/rustdoc/aux/issue-15318.rs
deleted file mode 100644 (file)
index 145b4df..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -Cmetadata=aux
-
-#![doc(html_root_url = "http://example.com/")]
-
-/// dox
-#[doc(primitive = "pointer")]
-pub mod ptr {}
diff --git a/src/test/rustdoc/aux/issue-17476.rs b/src/test/rustdoc/aux/issue-17476.rs
deleted file mode 100644 (file)
index 644d163..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -Cmetadata=aux
-
-#![doc(html_root_url = "http://example.com")]
-
-pub trait Foo {
-    fn foo(&self) {}
-}
diff --git a/src/test/rustdoc/aux/issue-19190-3.rs b/src/test/rustdoc/aux/issue-19190-3.rs
deleted file mode 100644 (file)
index 2c92712..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -Cmetadata=aux
-
-use std::ops::Deref;
-
-pub struct Foo;
-
-impl Deref for Foo {
-    type Target = i32;
-    fn deref(&self) -> &i32 { loop {} }
-}
-
-pub struct Bar;
-pub struct Baz;
-
-impl Baz {
-    pub fn baz(&self) {}
-    pub fn static_baz() {}
-}
-
-impl Deref for Bar {
-    type Target = Baz;
-    fn deref(&self) -> &Baz { loop {} }
-}
diff --git a/src/test/rustdoc/aux/issue-20646.rs b/src/test/rustdoc/aux/issue-20646.rs
deleted file mode 100644 (file)
index 815b78a..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -Cmetadata=aux
-
-pub trait Trait {
-    type Output;
-}
-
-pub fn fun<T>(_: T) where T: Trait<Output=i32> {}
diff --git a/src/test/rustdoc/aux/issue-20727.rs b/src/test/rustdoc/aux/issue-20727.rs
deleted file mode 100644 (file)
index 2ec761f..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -Cmetadata=aux
-
-pub trait Deref {
-    type Target: ?Sized;
-
-    fn deref<'a>(&'a self) -> &'a Self::Target;
-}
-
-pub trait Add<RHS = Self> {
-    type Output;
-
-    fn add(self, rhs: RHS) -> Self::Output;
-}
-
-
-pub trait Bar {}
-pub trait Deref2 {
-    type Target: Bar;
-
-    fn deref(&self) -> Self::Target;
-}
-
-pub trait Index<Idx: ?Sized> {
-    type Output: ?Sized;
-    fn index(&self, index: Idx) -> &Self::Output;
-}
-
-pub trait IndexMut<Idx: ?Sized>: Index<Idx> {
-    fn index_mut(&mut self, index: Idx) -> &mut Self::Output;
-}
diff --git a/src/test/rustdoc/aux/issue-21092.rs b/src/test/rustdoc/aux/issue-21092.rs
deleted file mode 100644 (file)
index e906311..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -Cmetadata=aux
-
-pub trait Foo {
-    type Bar;
-    fn foo(&self) {}
-}
-
-pub struct Bar;
-
-impl Foo for Bar {
-    type Bar = i32;
-}
diff --git a/src/test/rustdoc/aux/issue-21801.rs b/src/test/rustdoc/aux/issue-21801.rs
deleted file mode 100644 (file)
index f618ede..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -Cmetadata=aux
-
-pub struct Foo;
-
-impl Foo {
-    pub fn new<F>(f: F) -> Foo where F: FnMut() -> i32 {
-        loop {}
-    }
-}
diff --git a/src/test/rustdoc/aux/issue-22025.rs b/src/test/rustdoc/aux/issue-22025.rs
deleted file mode 100644 (file)
index 35a37e2..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -Cmetadata=aux
-
-pub mod foo {
-
-    pub trait Foo {}
-    pub struct Bar;
-
-    impl Foo for Bar {}
-
-}
diff --git a/src/test/rustdoc/aux/issue-23207-1.rs b/src/test/rustdoc/aux/issue-23207-1.rs
deleted file mode 100644 (file)
index ec9f200..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub mod fmt {
-    pub struct Error;
-}
diff --git a/src/test/rustdoc/aux/issue-23207-2.rs b/src/test/rustdoc/aux/issue-23207-2.rs
deleted file mode 100644 (file)
index 5e9c540..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-extern crate issue_23207_1;
-
-pub mod fmt {
-    pub use issue_23207_1::fmt::Error;
-}
-
diff --git a/src/test/rustdoc/aux/issue-26606-macro.rs b/src/test/rustdoc/aux/issue-26606-macro.rs
deleted file mode 100644 (file)
index 6059a25..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[macro_export]
-macro_rules! make_item (
-    ($name: ident) => (pub const $name: usize = 42;)
-);
diff --git a/src/test/rustdoc/aux/issue-27362.rs b/src/test/rustdoc/aux/issue-27362.rs
deleted file mode 100644 (file)
index 25de698..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -Cmetadata=aux
-
-#![feature(const_fn)]
-
-pub const fn foo() {}
-pub const unsafe fn bar() {}
-
-pub struct Foo;
-
-impl Foo {
-    pub const unsafe fn baz() {}
-}
diff --git a/src/test/rustdoc/aux/issue-28927-1.rs b/src/test/rustdoc/aux/issue-28927-1.rs
deleted file mode 100644 (file)
index 7d6b448..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-extern crate issue_28927_2 as inner2;
-pub use inner2 as bar;
diff --git a/src/test/rustdoc/aux/issue-28927-2.rs b/src/test/rustdoc/aux/issue-28927-2.rs
deleted file mode 100644 (file)
index c511700..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Baz;
diff --git a/src/test/rustdoc/aux/issue-29584.rs b/src/test/rustdoc/aux/issue-29584.rs
deleted file mode 100644 (file)
index 63c79f8..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// compile-flags: -Cmetadata=aux
-
-pub struct Foo;
-
-#[doc(hidden)]
-mod bar {
-    trait Bar {}
-
-    impl Bar for ::Foo {}
-}
diff --git a/src/test/rustdoc/aux/issue-30109-1.rs b/src/test/rustdoc/aux/issue-30109-1.rs
deleted file mode 100644 (file)
index 59f952a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Bar;
diff --git a/src/test/rustdoc/aux/reexp_stripped.rs b/src/test/rustdoc/aux/reexp_stripped.rs
deleted file mode 100644 (file)
index 2b061e3..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub use private::Quz;
-pub use hidden::Bar;
-
-mod private {
-    pub struct Quz;
-}
-
-#[doc(hidden)]
-pub mod hidden {
-    pub struct Bar;
-}
diff --git a/src/test/rustdoc/aux/rustdoc-default-impl.rs b/src/test/rustdoc/aux/rustdoc-default-impl.rs
deleted file mode 100644 (file)
index c2ff7a0..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(optin_builtin_traits)]
-#![feature(core)]
-
-pub mod bar {
-    use std::marker;
-
-    pub trait Bar: 'static {}
-
-    impl Bar for .. {}
-
-    pub trait Foo {
-        fn foo(&self) {}
-    }
-
-    impl Foo {
-        pub fn test<T: Bar>(&self) {}
-    }
-
-    pub struct TypeId;
-
-    impl TypeId {
-        pub fn of<T: Bar + ?Sized>() -> TypeId {
-            panic!()
-        }
-    }
-}
diff --git a/src/test/rustdoc/aux/rustdoc-extern-default-method.rs b/src/test/rustdoc/aux/rustdoc-extern-default-method.rs
deleted file mode 100644 (file)
index 8615627..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-pub trait Trait {
-    fn provided(&self) {}
-}
-
-pub struct Struct;
-
-impl Trait for Struct {
-    fn provided(&self) {}
-}
diff --git a/src/test/rustdoc/aux/rustdoc-extern-method.rs b/src/test/rustdoc/aux/rustdoc-extern-method.rs
deleted file mode 100644 (file)
index 96a7a83..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-#![feature(unboxed_closures)]
-
-pub trait Foo {
-    extern "rust-call" fn foo(&self, _: ()) -> i32;
-    extern "rust-call" fn foo_(&self, _: ()) -> i32 { 0 }
-}
diff --git a/src/test/rustdoc/aux/rustdoc-ffi.rs b/src/test/rustdoc/aux/rustdoc-ffi.rs
deleted file mode 100644 (file)
index e06dbe7..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_type="lib"]
-
-extern "C" {
-    // @has lib/fn.foreigner.html //pre 'pub unsafe fn foreigner(cold_as_ice: u32)'
-    pub fn foreigner(cold_as_ice: u32);
-}
diff --git a/src/test/rustdoc/aux/rustdoc-impl-parts-crosscrate.rs b/src/test/rustdoc/aux/rustdoc-impl-parts-crosscrate.rs
deleted file mode 100644 (file)
index 6e8f80c..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(optin_builtin_traits)]
-
-pub trait AnOibit {}
-
-impl AnOibit for .. {}
diff --git a/src/test/rustdoc/aux/variant-struct.rs b/src/test/rustdoc/aux/variant-struct.rs
deleted file mode 100644 (file)
index d846c0a..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub enum Foo {
-    Bar {
-        qux: (),
-    }
-}
diff --git a/src/test/rustdoc/auxiliary/empty.rs b/src/test/rustdoc/auxiliary/empty.rs
new file mode 100644 (file)
index 0000000..3066947
--- /dev/null
@@ -0,0 +1,9 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
diff --git a/src/test/rustdoc/auxiliary/inline-default-methods.rs b/src/test/rustdoc/auxiliary/inline-default-methods.rs
new file mode 100644 (file)
index 0000000..e21e6ad
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -Cmetadata=aux
+
+pub trait Foo {
+    fn bar(&self);
+    fn foo(&mut self) {}
+}
diff --git a/src/test/rustdoc/auxiliary/issue-13698.rs b/src/test/rustdoc/auxiliary/issue-13698.rs
new file mode 100644 (file)
index 0000000..ecddfe9
--- /dev/null
@@ -0,0 +1,18 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -Cmetadata=aux
+
+pub trait Foo {
+    #[doc(hidden)]
+    fn foo(&self) {}
+}
+
+impl Foo for i32 {}
diff --git a/src/test/rustdoc/auxiliary/issue-15318.rs b/src/test/rustdoc/auxiliary/issue-15318.rs
new file mode 100644 (file)
index 0000000..145b4df
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -Cmetadata=aux
+
+#![doc(html_root_url = "http://example.com/")]
+
+/// dox
+#[doc(primitive = "pointer")]
+pub mod ptr {}
diff --git a/src/test/rustdoc/auxiliary/issue-17476.rs b/src/test/rustdoc/auxiliary/issue-17476.rs
new file mode 100644 (file)
index 0000000..644d163
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -Cmetadata=aux
+
+#![doc(html_root_url = "http://example.com")]
+
+pub trait Foo {
+    fn foo(&self) {}
+}
diff --git a/src/test/rustdoc/auxiliary/issue-19190-3.rs b/src/test/rustdoc/auxiliary/issue-19190-3.rs
new file mode 100644 (file)
index 0000000..2c92712
--- /dev/null
@@ -0,0 +1,33 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -Cmetadata=aux
+
+use std::ops::Deref;
+
+pub struct Foo;
+
+impl Deref for Foo {
+    type Target = i32;
+    fn deref(&self) -> &i32 { loop {} }
+}
+
+pub struct Bar;
+pub struct Baz;
+
+impl Baz {
+    pub fn baz(&self) {}
+    pub fn static_baz() {}
+}
+
+impl Deref for Bar {
+    type Target = Baz;
+    fn deref(&self) -> &Baz { loop {} }
+}
diff --git a/src/test/rustdoc/auxiliary/issue-20646.rs b/src/test/rustdoc/auxiliary/issue-20646.rs
new file mode 100644 (file)
index 0000000..815b78a
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -Cmetadata=aux
+
+pub trait Trait {
+    type Output;
+}
+
+pub fn fun<T>(_: T) where T: Trait<Output=i32> {}
diff --git a/src/test/rustdoc/auxiliary/issue-20727.rs b/src/test/rustdoc/auxiliary/issue-20727.rs
new file mode 100644 (file)
index 0000000..2ec761f
--- /dev/null
@@ -0,0 +1,40 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -Cmetadata=aux
+
+pub trait Deref {
+    type Target: ?Sized;
+
+    fn deref<'a>(&'a self) -> &'a Self::Target;
+}
+
+pub trait Add<RHS = Self> {
+    type Output;
+
+    fn add(self, rhs: RHS) -> Self::Output;
+}
+
+
+pub trait Bar {}
+pub trait Deref2 {
+    type Target: Bar;
+
+    fn deref(&self) -> Self::Target;
+}
+
+pub trait Index<Idx: ?Sized> {
+    type Output: ?Sized;
+    fn index(&self, index: Idx) -> &Self::Output;
+}
+
+pub trait IndexMut<Idx: ?Sized>: Index<Idx> {
+    fn index_mut(&mut self, index: Idx) -> &mut Self::Output;
+}
diff --git a/src/test/rustdoc/auxiliary/issue-21092.rs b/src/test/rustdoc/auxiliary/issue-21092.rs
new file mode 100644 (file)
index 0000000..e906311
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -Cmetadata=aux
+
+pub trait Foo {
+    type Bar;
+    fn foo(&self) {}
+}
+
+pub struct Bar;
+
+impl Foo for Bar {
+    type Bar = i32;
+}
diff --git a/src/test/rustdoc/auxiliary/issue-21801.rs b/src/test/rustdoc/auxiliary/issue-21801.rs
new file mode 100644 (file)
index 0000000..f618ede
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -Cmetadata=aux
+
+pub struct Foo;
+
+impl Foo {
+    pub fn new<F>(f: F) -> Foo where F: FnMut() -> i32 {
+        loop {}
+    }
+}
diff --git a/src/test/rustdoc/auxiliary/issue-22025.rs b/src/test/rustdoc/auxiliary/issue-22025.rs
new file mode 100644 (file)
index 0000000..35a37e2
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -Cmetadata=aux
+
+pub mod foo {
+
+    pub trait Foo {}
+    pub struct Bar;
+
+    impl Foo for Bar {}
+
+}
diff --git a/src/test/rustdoc/auxiliary/issue-23207-1.rs b/src/test/rustdoc/auxiliary/issue-23207-1.rs
new file mode 100644 (file)
index 0000000..ec9f200
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub mod fmt {
+    pub struct Error;
+}
diff --git a/src/test/rustdoc/auxiliary/issue-23207-2.rs b/src/test/rustdoc/auxiliary/issue-23207-2.rs
new file mode 100644 (file)
index 0000000..5e9c540
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+extern crate issue_23207_1;
+
+pub mod fmt {
+    pub use issue_23207_1::fmt::Error;
+}
+
diff --git a/src/test/rustdoc/auxiliary/issue-26606-macro.rs b/src/test/rustdoc/auxiliary/issue-26606-macro.rs
new file mode 100644 (file)
index 0000000..6059a25
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#[macro_export]
+macro_rules! make_item (
+    ($name: ident) => (pub const $name: usize = 42;)
+);
diff --git a/src/test/rustdoc/auxiliary/issue-27362.rs b/src/test/rustdoc/auxiliary/issue-27362.rs
new file mode 100644 (file)
index 0000000..25de698
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -Cmetadata=aux
+
+#![feature(const_fn)]
+
+pub const fn foo() {}
+pub const unsafe fn bar() {}
+
+pub struct Foo;
+
+impl Foo {
+    pub const unsafe fn baz() {}
+}
diff --git a/src/test/rustdoc/auxiliary/issue-28927-1.rs b/src/test/rustdoc/auxiliary/issue-28927-1.rs
new file mode 100644 (file)
index 0000000..7d6b448
--- /dev/null
@@ -0,0 +1,12 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+extern crate issue_28927_2 as inner2;
+pub use inner2 as bar;
diff --git a/src/test/rustdoc/auxiliary/issue-28927-2.rs b/src/test/rustdoc/auxiliary/issue-28927-2.rs
new file mode 100644 (file)
index 0000000..c511700
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Baz;
diff --git a/src/test/rustdoc/auxiliary/issue-29584.rs b/src/test/rustdoc/auxiliary/issue-29584.rs
new file mode 100644 (file)
index 0000000..63c79f8
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: -Cmetadata=aux
+
+pub struct Foo;
+
+#[doc(hidden)]
+mod bar {
+    trait Bar {}
+
+    impl Bar for ::Foo {}
+}
diff --git a/src/test/rustdoc/auxiliary/issue-30109-1.rs b/src/test/rustdoc/auxiliary/issue-30109-1.rs
new file mode 100644 (file)
index 0000000..59f952a
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Bar;
diff --git a/src/test/rustdoc/auxiliary/reexp_stripped.rs b/src/test/rustdoc/auxiliary/reexp_stripped.rs
new file mode 100644 (file)
index 0000000..2b061e3
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub use private::Quz;
+pub use hidden::Bar;
+
+mod private {
+    pub struct Quz;
+}
+
+#[doc(hidden)]
+pub mod hidden {
+    pub struct Bar;
+}
diff --git a/src/test/rustdoc/auxiliary/rustdoc-default-impl.rs b/src/test/rustdoc/auxiliary/rustdoc-default-impl.rs
new file mode 100644 (file)
index 0000000..c2ff7a0
--- /dev/null
@@ -0,0 +1,36 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(optin_builtin_traits)]
+#![feature(core)]
+
+pub mod bar {
+    use std::marker;
+
+    pub trait Bar: 'static {}
+
+    impl Bar for .. {}
+
+    pub trait Foo {
+        fn foo(&self) {}
+    }
+
+    impl Foo {
+        pub fn test<T: Bar>(&self) {}
+    }
+
+    pub struct TypeId;
+
+    impl TypeId {
+        pub fn of<T: Bar + ?Sized>() -> TypeId {
+            panic!()
+        }
+    }
+}
diff --git a/src/test/rustdoc/auxiliary/rustdoc-extern-default-method.rs b/src/test/rustdoc/auxiliary/rustdoc-extern-default-method.rs
new file mode 100644 (file)
index 0000000..8615627
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub trait Trait {
+    fn provided(&self) {}
+}
+
+pub struct Struct;
+
+impl Trait for Struct {
+    fn provided(&self) {}
+}
diff --git a/src/test/rustdoc/auxiliary/rustdoc-extern-method.rs b/src/test/rustdoc/auxiliary/rustdoc-extern-method.rs
new file mode 100644 (file)
index 0000000..96a7a83
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+#![feature(unboxed_closures)]
+
+pub trait Foo {
+    extern "rust-call" fn foo(&self, _: ()) -> i32;
+    extern "rust-call" fn foo_(&self, _: ()) -> i32 { 0 }
+}
diff --git a/src/test/rustdoc/auxiliary/rustdoc-ffi.rs b/src/test/rustdoc/auxiliary/rustdoc-ffi.rs
new file mode 100644 (file)
index 0000000..e06dbe7
--- /dev/null
@@ -0,0 +1,16 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+extern "C" {
+    // @has lib/fn.foreigner.html //pre 'pub unsafe fn foreigner(cold_as_ice: u32)'
+    pub fn foreigner(cold_as_ice: u32);
+}
diff --git a/src/test/rustdoc/auxiliary/rustdoc-impl-parts-crosscrate.rs b/src/test/rustdoc/auxiliary/rustdoc-impl-parts-crosscrate.rs
new file mode 100644 (file)
index 0000000..6e8f80c
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(optin_builtin_traits)]
+
+pub trait AnOibit {}
+
+impl AnOibit for .. {}
diff --git a/src/test/rustdoc/auxiliary/variant-struct.rs b/src/test/rustdoc/auxiliary/variant-struct.rs
new file mode 100644 (file)
index 0000000..d846c0a
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub enum Foo {
+    Bar {
+        qux: (),
+    }
+}
diff --git a/src/test/rustdoc/inline_cross/aux/issue-33113.rs b/src/test/rustdoc/inline_cross/aux/issue-33113.rs
deleted file mode 100644 (file)
index c476dda..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![crate_name="bar"]
-
-pub trait Bar {}
-pub struct Foo;
-
-impl<'a> Bar for &'a char {}
-impl Bar for Foo {}
diff --git a/src/test/rustdoc/inline_cross/aux/rustdoc-hidden-sig.rs b/src/test/rustdoc/inline_cross/aux/rustdoc-hidden-sig.rs
deleted file mode 100644 (file)
index e2bc153..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Bar;
-
-impl Bar {
-    pub fn bar(_: u8) -> hidden::Hidden {
-        hidden::Hidden
-    }
-}
-
-#[doc(hidden)]
-pub mod hidden {
-    pub struct Hidden;
-}
diff --git a/src/test/rustdoc/inline_cross/aux/rustdoc-hidden.rs b/src/test/rustdoc/inline_cross/aux/rustdoc-hidden.rs
deleted file mode 100644 (file)
index aae3eb8..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[doc(hidden)]
-pub struct Foo;
-
-pub struct Bar;
diff --git a/src/test/rustdoc/inline_cross/aux/rustdoc-nonreachable-impls.rs b/src/test/rustdoc/inline_cross/aux/rustdoc-nonreachable-impls.rs
deleted file mode 100644 (file)
index 22a311d..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub struct Foo;
-
-pub trait Woof {}
-pub trait Bark {}
-
-mod private {
-    // should be shown
-    impl ::Woof for ::Foo {}
-
-    pub trait Bar {}
-    pub struct Wibble;
-
-    // these should not be shown
-    impl Bar for ::Foo {}
-    impl Bar for Wibble {}
-    impl ::Bark for Wibble {}
-    impl ::Woof for Wibble {}
-}
-
-#[doc(hidden)]
-pub mod hidden {
-    // should be shown
-    impl ::Bark for ::Foo {}
-
-    pub trait Qux {}
-    pub struct Wobble;
-
-
-    // these should only be shown if they're reexported correctly
-    impl Qux for ::Foo {}
-    impl Qux for Wobble {}
-    impl ::Bark for Wobble {}
-    impl ::Woof for Wobble {}
-}
diff --git a/src/test/rustdoc/inline_cross/aux/rustdoc-trait-object-impl.rs b/src/test/rustdoc/inline_cross/aux/rustdoc-trait-object-impl.rs
deleted file mode 100644 (file)
index 317262f..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use std::fmt;
-
-pub trait Bar {}
-
-impl<'a> Bar + 'a {
-    pub fn bar(&self) -> usize { 42 }
-}
-
-impl<'a> fmt::Debug for Bar + 'a {
-    fn fmt(&self, _: &mut fmt::Formatter) -> fmt::Result {
-        Ok(())
-    }
-}
-
diff --git a/src/test/rustdoc/inline_cross/auxiliary/issue-33113.rs b/src/test/rustdoc/inline_cross/auxiliary/issue-33113.rs
new file mode 100644 (file)
index 0000000..c476dda
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name="bar"]
+
+pub trait Bar {}
+pub struct Foo;
+
+impl<'a> Bar for &'a char {}
+impl Bar for Foo {}
diff --git a/src/test/rustdoc/inline_cross/auxiliary/rustdoc-hidden-sig.rs b/src/test/rustdoc/inline_cross/auxiliary/rustdoc-hidden-sig.rs
new file mode 100644 (file)
index 0000000..e2bc153
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Bar;
+
+impl Bar {
+    pub fn bar(_: u8) -> hidden::Hidden {
+        hidden::Hidden
+    }
+}
+
+#[doc(hidden)]
+pub mod hidden {
+    pub struct Hidden;
+}
diff --git a/src/test/rustdoc/inline_cross/auxiliary/rustdoc-hidden.rs b/src/test/rustdoc/inline_cross/auxiliary/rustdoc-hidden.rs
new file mode 100644 (file)
index 0000000..aae3eb8
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#[doc(hidden)]
+pub struct Foo;
+
+pub struct Bar;
diff --git a/src/test/rustdoc/inline_cross/auxiliary/rustdoc-nonreachable-impls.rs b/src/test/rustdoc/inline_cross/auxiliary/rustdoc-nonreachable-impls.rs
new file mode 100644 (file)
index 0000000..22a311d
--- /dev/null
@@ -0,0 +1,44 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub struct Foo;
+
+pub trait Woof {}
+pub trait Bark {}
+
+mod private {
+    // should be shown
+    impl ::Woof for ::Foo {}
+
+    pub trait Bar {}
+    pub struct Wibble;
+
+    // these should not be shown
+    impl Bar for ::Foo {}
+    impl Bar for Wibble {}
+    impl ::Bark for Wibble {}
+    impl ::Woof for Wibble {}
+}
+
+#[doc(hidden)]
+pub mod hidden {
+    // should be shown
+    impl ::Bark for ::Foo {}
+
+    pub trait Qux {}
+    pub struct Wobble;
+
+
+    // these should only be shown if they're reexported correctly
+    impl Qux for ::Foo {}
+    impl Qux for Wobble {}
+    impl ::Bark for Wobble {}
+    impl ::Woof for Wobble {}
+}
diff --git a/src/test/rustdoc/inline_cross/auxiliary/rustdoc-trait-object-impl.rs b/src/test/rustdoc/inline_cross/auxiliary/rustdoc-trait-object-impl.rs
new file mode 100644 (file)
index 0000000..317262f
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+use std::fmt;
+
+pub trait Bar {}
+
+impl<'a> Bar + 'a {
+    pub fn bar(&self) -> usize { 42 }
+}
+
+impl<'a> fmt::Debug for Bar + 'a {
+    fn fmt(&self, _: &mut fmt::Formatter) -> fmt::Result {
+        Ok(())
+    }
+}
+
index 6e1cae9b25c3e47c510f308204ce92d501d470f0..245c3992bee0c1da99df350da22fe9a0ba347646 100644 (file)
@@ -360,7 +360,7 @@ fn collect_tests_from_dir(config: &Config,
             tests.push(make_test(config, &paths))
         } else if file_path.is_dir() {
             let relative_file_path = relative_dir_path.join(file.file_name());
-            if &file_name == "aux" {
+            if &file_name == "auxiliary" {
                 // `aux` directories contain other crates used for
                 // cross-crate tests. Don't search them for tests, but
                 // do create a directory in the build dir for them,
index 858cecf8612d98f6098c128e54163348f5eb27e6..74e4b81f555e6f8e7d48ac5aeb1f30aaca1be1fa 100644 (file)
@@ -1153,7 +1153,7 @@ fn compute_aux_test_paths(&self, rel_ab: &str) -> TestPaths {
         let test_ab = self.testpaths.file
                                     .parent()
                                     .expect("test file path has no parent")
-                                    .join("aux")
+                                    .join("auxiliary")
                                     .join(rel_ab);
         if !test_ab.exists() {
             self.fatal(&format!("aux-build `{}` source not found", test_ab.display()))
@@ -1163,7 +1163,7 @@ fn compute_aux_test_paths(&self, rel_ab: &str) -> TestPaths {
             file: test_ab,
             base: self.testpaths.base.clone(),
             relative_dir: self.testpaths.relative_dir
-                                        .join("aux")
+                                        .join("auxiliary")
                                         .join(rel_ab)
                                         .parent()
                                         .expect("aux-build path has no parent")