rust/compiler
bjorn3 008be2d7b6 Verify that all crate sources are in sync
This ensures that rustc will not attempt to link against a cdylib as if
it is a rust dylib when an rlib for the same crate is available.
Previously rustc didn't actually check if any further formats of a
crate which has been loaded are of the same version and if they are
actually valid. This caused a cdylib to be interpreted as rust dylib as
soon as the corresponding rlib was loaded. As cdylibs don't export any
rust symbols, linking would fail if rustc decides to link against the
cdylib rather than the rlib.

Two crates depended on the previous behavior by separately compiling a
test crate as both rlib and dylib. These have been changed to capture
their original spirit to the best of my ability while still working
when rustc verifies that all crates are in sync. It is unlikely that
build systems depend on the current behavior and in any case we are
taking a lot of measures to ensure that any change to either the source
or the compilation options (including crate type) results in rustc
rejecting it as incompatible. We merely didn't do this check here for
now obsolete perf reasons.
2023-07-19 14:47:05 +00:00
..
rustc fix link 2023-03-11 10:53:47 -06:00
rustc_abi i686-windows: make requested alignment > 4 special case apply transitively 2023-07-14 17:48:13 -04:00
rustc_apfloat
rustc_arena Extend unused_must_use to cover block exprs 2023-06-15 17:59:13 +08:00
rustc_ast Flip cfg's for bootstrap bump 2023-07-12 21:38:55 -04:00
rustc_ast_lowering Re-format let-else per rustfmt update 2023-07-12 21:49:27 -04:00
rustc_ast_passes Lint against misplaced where-clauses on assoc tys in traits 2023-07-11 01:19:11 +02:00
rustc_ast_pretty Syntatically accept become expressions 2023-06-19 12:54:34 +00:00
rustc_attr Add infrastructure #[rustc_confusables] attribute to allow targeted 2023-07-16 19:22:03 +08:00
rustc_baked_icu_data Regen baked data 2023-05-02 10:45:16 -07:00
rustc_borrowck Rename arg_iter to iter_instantiated 2023-07-17 21:04:12 +00:00
rustc_builtin_macros Add a comparison between match *self and intrinsics::unreachable() 2023-07-16 15:33:29 -07:00
rustc_codegen_cranelift support for mips64r6 as a target_arch value 2023-07-18 18:58:18 +08:00
rustc_codegen_gcc support for mips32r6 as a target_arch value 2023-07-18 18:58:18 +08:00
rustc_codegen_llvm Auto merge of #112591 - jfgoog:better-dlltool-diagnostics, r=WaffleLapkin 2023-07-19 07:27:50 +00:00
rustc_codegen_ssa support for mips32r6 as a target_arch value 2023-07-18 18:58:18 +08:00
rustc_const_eval Refactor checking function target features during const-eval 2023-07-16 16:07:55 +02:00
rustc_data_structures Introduce ExtentUnord trait for collections that can safely consume UnordItems. 2023-07-14 10:10:15 +02:00
rustc_driver Update rustix 2023-07-03 07:20:51 +00:00
rustc_driver_impl Don't require each rustc_interface tool to opt-in to parallel_rustc support 2023-07-11 22:55:23 -05:00
rustc_error_codes Implement custom diagnostic for ConstParamTy 2023-06-01 18:21:42 +00:00
rustc_error_messages Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
rustc_errors Re-format let-else per rustfmt update 2023-07-12 21:49:27 -04:00
rustc_expand Re-format let-else per rustfmt update 2023-07-12 21:49:27 -04:00
rustc_feature Add infrastructure #[rustc_confusables] attribute to allow targeted 2023-07-16 19:22:03 +08:00
rustc_fluent_macro Fix diagnostics with errors 2023-05-26 10:44:18 +00:00
rustc_fs_util Add try_canonicalize to rustc_fs_util and use it over fs::canonicalize 2023-03-16 21:50:23 +01:00
rustc_graphviz enable rust_2018_idioms for doctests 2023-05-07 00:12:29 +03:00
rustc_hir Re-format let-else per rustfmt update 2023-07-12 21:49:27 -04:00
rustc_hir_analysis Rename arg_iter to iter_instantiated 2023-07-17 21:04:12 +00:00
rustc_hir_pretty hir: Add Become expression kind 2023-06-26 08:56:32 +00:00
rustc_hir_typeck Relax recursive opaque type check 2023-07-18 15:56:03 +00:00
rustc_incremental Re-format let-else per rustfmt update 2023-07-12 21:49:27 -04:00
rustc_index Re-format let-else per rustfmt update 2023-07-12 21:49:27 -04:00
rustc_infer Rename arg_iter to iter_instantiated 2023-07-17 21:04:12 +00:00
rustc_interface Auto merge of #113606 - jyn514:parallel-compiler-cleanup, r=cjgillot 2023-07-15 22:23:05 +00:00
rustc_lexer Revert the lexing of c_str_literals 2023-07-05 13:11:17 +02:00
rustc_lint Rollup merge of #113832 - WaffleLapkin:track_lint_caller, r=compiler-errors 2023-07-18 19:06:04 +02:00
rustc_lint_defs Fix removal span calculation of unused_qualifications suggestion 2023-07-18 09:52:08 +08:00
rustc_llvm Auto merge of #113714 - Kobzol:ci-cmake, r=nikic 2023-07-17 15:46:43 +00:00
rustc_log Downgrade tracing and syn 2023-07-02 21:02:31 +02:00
rustc_macros Re-format let-else per rustfmt update 2023-07-12 21:49:27 -04:00
rustc_metadata Verify that all crate sources are in sync 2023-07-19 14:47:05 +00:00
rustc_middle Auto merge of #113777 - nnethercote:overlap-based-cgu-merging, r=pnkfelix 2023-07-18 22:36:17 +00:00
rustc_mir_build Implement "items do not inherit unsafety" for THIR unsafeck 2023-07-15 11:59:38 -04:00
rustc_mir_dataflow refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
rustc_mir_transform Auto merge of #109025 - cjgillot:refprop-dbg, r=JakobDegen 2023-07-14 17:32:59 +00:00
rustc_monomorphize Change the primary CGU merging algorithm. 2023-07-19 07:23:11 +10:00
rustc_parse Re-format let-else per rustfmt update 2023-07-12 21:49:27 -04:00
rustc_parse_format Fix typos in compiler 2023-04-10 22:02:52 +02:00
rustc_passes Add infrastructure #[rustc_confusables] attribute to allow targeted 2023-07-16 19:22:03 +08:00
rustc_plugin_impl Add rustc_fluent_macro to decouple fluent from rustc_macros 2023-04-18 18:56:22 +00:00
rustc_privacy refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
rustc_query_impl Avoid calling queries during query stack printing 2023-06-27 16:12:07 +02:00
rustc_query_system Show which type was not specialized on query cycle misuse 2023-07-05 07:30:28 +00:00
rustc_resolve Fix removal span calculation of unused_qualifications suggestion 2023-07-18 09:52:08 +08:00
rustc_serialize Upgrade to indexmap 2.0.0 2023-07-03 13:51:54 -07:00
rustc_session Add #[track_caller] to lint related diagnostic functions 2023-07-18 15:48:07 +00:00
rustc_smir conversions to smir RawPtr and Ref 2023-07-17 21:08:49 -04:00
rustc_span Add infrastructure #[rustc_confusables] attribute to allow targeted 2023-07-16 19:22:03 +08:00
rustc_symbol_mangling refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
rustc_target support for mips32r6 as a target_arch value 2023-07-18 18:58:18 +08:00
rustc_trait_selection Auto merge of #113690 - aliemjay:opaque-defined-by-trait, r=compiler-errors 2023-07-19 05:40:58 +00:00
rustc_traits refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
rustc_transmute Auto merge of #113677 - bryangarza:unevaluated-const-ice_issue-110892, r=davidtwco 2023-07-18 09:07:32 +00:00
rustc_ty_utils Rollup merge of #113824 - lcnr:exhaustive-match, r=wesleywiser 2023-07-18 19:06:03 +02:00
rustc_type_ir refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00