granite-rust/compiler
bors 657bc01888 Auto merge of #85702 - Aaron1011:no-vec-sort, r=michaelwoerister
Don't sort a `Vec` before computing its `DepTrackingHash`

Previously, we sorted the vec prior to hashing, making the hash
independent of the original (command-line argument) order. However, the
original vec was still always kept in the original order, so we were
relying on the rest of the compiler always working with it in an
'order-independent' way.

This assumption was not being upheld by the `native_libraries` query -
the order of the entires in its result depends on the order of entries
in `Options.libs`. This lead to an 'unstable fingerprint' ICE when the
`-l` arguments were re-ordered.

This PR removes the sorting logic entirely. Re-ordering command-line
arguments (without adding/removing/changing any arguments) seems like a
really niche use case, and correctly optimizing for it would require
additional work. By always hashing arguments in their original order, we
can entirely avoid a cause of 'unstable fingerprint' errors.
2021-05-31 20:03:18 +00:00
..
rustc use jemallocator in rustc/rustdoc 2021-04-04 14:10:26 -07:00
rustc_apfloat remove cfg(bootstrap) 2021-05-24 11:07:48 -04:00
rustc_arena Remove (lots of) dead code 2021-03-27 22:16:33 -04:00
rustc_ast Specialize implementations 2021-05-26 18:07:09 -04:00
rustc_ast_lowering remove cfg(bootstrap) 2021-05-24 11:07:48 -04:00
rustc_ast_passes Stabilize extended_key_value_attributes 2021-05-18 01:01:36 -04:00
rustc_ast_pretty remove cfg(bootstrap) 2021-05-24 11:07:48 -04:00
rustc_attr remove cfg(bootstrap) 2021-05-24 11:07:48 -04:00
rustc_builtin_macros remove cfg(bootstrap) 2021-05-24 11:07:48 -04:00
rustc_codegen_cranelift Merge commit '40dd3e2b7089b5e96714e064b731f6dbf17c61a9' into sync_cg_clif-2021-05-27 2021-05-27 13:08:14 +02:00
rustc_codegen_llvm Fix static relocation model for PowerPC64 2021-05-28 03:48:39 +02:00
rustc_codegen_ssa Rollup merge of #85649 - ChrisDenton:update-cc, r=matthewjasper 2021-05-27 03:02:09 +02:00
rustc_data_structures Don't panic when failing to initialize incremental directory. 2021-05-25 14:40:33 -07:00
rustc_driver Auto merge of #83842 - LeSeulArtichaut:thir-vec, r=nikomatsakis 2021-05-19 18:41:23 +00:00
rustc_error_codes swap function order for better read flow 2021-05-13 13:22:24 +02:00
rustc_errors Stabilize extended_key_value_attributes 2021-05-18 01:01:36 -04:00
rustc_expand Use correct edition when parsing :pat matchers 2021-05-29 13:09:14 -05:00
rustc_feature stabilize member constraints 2021-05-26 06:01:53 -04:00
rustc_fs_util Optimize away a fs::metadata call. 2021-01-06 08:33:15 -08:00
rustc_graphviz Remove (lots of) dead code 2021-03-27 22:16:33 -04:00
rustc_hir Fix test 2021-05-30 12:51:36 +02:00
rustc_hir_pretty remove cfg(bootstrap) 2021-05-24 11:07:48 -04:00
rustc_incremental Merge CrateDisambiguator into StableCrateId 2021-05-30 12:51:34 +02:00
rustc_index Unify feature flags as step_trait 2021-05-26 18:07:10 -04:00
rustc_infer Specialize implementations 2021-05-26 18:07:09 -04:00
rustc_interface Auto merge of #85702 - Aaron1011:no-vec-sort, r=michaelwoerister 2021-05-31 20:03:18 +00:00
rustc_lexer Fix outdated crate names in compiler docs 2021-04-08 11:12:14 -05:00
rustc_lint Lint against non-camelCase trait alias names 2021-05-26 19:55:27 -04:00
rustc_lint_defs Add additional migrations to handle auto-traits and clone traits 2021-05-06 14:17:59 -04:00
rustc_llvm Update cc 2021-05-24 23:34:12 +01:00
rustc_macros Use iter::zip in compiler/ 2021-03-26 09:32:31 -07:00
rustc_metadata Merge CrateDisambiguator into StableCrateId 2021-05-30 12:51:34 +02:00
rustc_middle Auto merge of #85704 - Aaron1011:const-panic-hard-err, r=RalfJung 2021-05-31 12:41:55 +00:00
rustc_mir Emit a hard error when a panic occurs during const-eval 2021-05-30 11:59:54 -05:00
rustc_mir_build Auto merge of #83772 - jhpratt:revamp-step-trait, r=Mark-Simulacrum 2021-05-30 01:21:39 +00:00
rustc_parse Don't drop PResult without handling the error 2021-05-30 00:08:42 +02:00
rustc_parse_format remove cfg(bootstrap) 2021-05-24 11:07:48 -04:00
rustc_passes Specialize implementations 2021-05-26 18:07:09 -04:00
rustc_plugin_impl Use () for plugin_registrar_fn. 2021-05-12 13:58:43 +02:00
rustc_privacy remove cfg(bootstrap) 2021-05-24 11:07:48 -04:00
rustc_query_impl Auto merge of #85266 - cjgillot:hir-dep-clean, r=michaelwoerister 2021-05-31 10:13:46 +00:00
rustc_query_system Auto merge of #85319 - cjgillot:query-simp, r=Mark-Simulacrum 2021-05-30 10:11:23 +00:00
rustc_resolve Merge CrateDisambiguator into StableCrateId 2021-05-30 12:51:34 +02:00
rustc_save_analysis Merge CrateDisambiguator into StableCrateId 2021-05-30 12:51:34 +02:00
rustc_serialize Auto merge of #83465 - michaelwoerister:safe-read_raw_bytes, r=cjgillot 2021-03-26 01:28:59 +00:00
rustc_session Auto merge of #85702 - Aaron1011:no-vec-sort, r=michaelwoerister 2021-05-31 20:03:18 +00:00
rustc_span Merge CrateDisambiguator into StableCrateId 2021-05-30 12:51:34 +02:00
rustc_symbol_mangling Merge CrateDisambiguator into StableCrateId 2021-05-30 12:51:34 +02:00
rustc_target Specialize implementations 2021-05-26 18:07:09 -04:00
rustc_trait_selection stabilize member constraints 2021-05-26 06:01:53 -04:00
rustc_traits Auto merge of #83207 - oli-obk:valtree2, r=lcnr 2021-04-02 10:28:12 +00:00
rustc_ty_utils Merge CrateDisambiguator into StableCrateId 2021-05-30 12:51:34 +02:00
rustc_type_ir Specialize implementations 2021-05-26 18:07:09 -04:00
rustc_typeck Auto merge of #85597 - 0yoyoyo:fix-issue-71563-remove-redundant-args, r=petrochenkov 2021-05-31 01:59:20 +00:00