rust/compiler
bors f41927f309 Auto merge of #108820 - cjgillot:ensure-on-disk, r=oli-obk
Ensure value is on the on-disk cache before returning from `ensure()`.

The current logic for `ensure()` a query just checks that the node is green in the dependency graph.
However, a lot of places use `ensure()` to prevent the query from being called later. This is the case before stealing a query result.

If the query is actually green but the value is not available in the on-disk cache, `ensure` would return, but a subsequent call to the full query would run the code, and attempt to read from a stolen value.

This PR conforms the query system to the usage by checking whether the queried value is loadable from disk before returning.

Sadly, I can't manage to craft a proper test...

Should fix all instances of "attempted to read from stolen value".
2023-03-12 14:00:28 +00:00
..
rustc fix link 2023-03-11 10:53:47 -06:00
rustc_abi Unify validity checks into a single query 2023-02-23 18:42:36 +00:00
rustc_apfloat
rustc_arena
rustc_ast Rename MapInPlace as FlatMapInPlace. 2023-03-08 15:53:56 +11:00
rustc_ast_lowering Auto merge of #108820 - cjgillot:ensure-on-disk, r=oli-obk 2023-03-12 14:00:28 +00:00
rustc_ast_passes Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_ast_pretty Force parentheses around match expression in binary expression 2023-03-02 21:58:49 +01:00
rustc_attr Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_baked_icu_data update ICU4X to 1.1.0 2023-02-04 22:28:59 +01:00
rustc_borrowck Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_builtin_macros Rollup merge of #108726 - est31:backticks_matchmaking_tidy, r=Nilstrieb 2023-03-12 08:13:25 +01:00
rustc_codegen_cranelift Auto merge of #109001 - matthiaskrgr:rollup-a3agnwp, r=matthiaskrgr 2023-03-11 07:28:44 +00:00
rustc_codegen_gcc Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_codegen_llvm Rollup merge of #108726 - est31:backticks_matchmaking_tidy, r=Nilstrieb 2023-03-12 08:13:25 +01:00
rustc_codegen_ssa Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_const_eval Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_data_structures Rollup merge of #108887 - nnethercote:rename-MapInPlace, r=lqd 2023-03-08 21:24:53 +01:00
rustc_driver Remove unneeded extern crate 2023-02-02 07:47:39 +01:00
rustc_driver_impl Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_error_codes Address the new odd backticks tidy lint in compiler/ 2023-03-11 20:40:18 +01:00
rustc_error_messages Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_errors Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_expand Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_feature Stabilize movbe target feature 2023-03-02 17:14:47 -05:00
rustc_fs_util
rustc_graphviz Fix uninlined_format_args for some compiler crates 2023-01-05 19:01:12 +01:00
rustc_hir Only compute the crate hash when necessary. 2023-03-08 09:30:22 +11:00
rustc_hir_analysis Auto merge of #108682 - est31:simplify_dirs, r=davidtwco 2023-03-12 03:51:21 +00:00
rustc_hir_pretty Add ErrorGuaranteed to HIR ExprKind::Err 2023-02-25 19:46:36 +00:00
rustc_hir_typeck Rollup merge of #108726 - est31:backticks_matchmaking_tidy, r=Nilstrieb 2023-03-12 08:13:25 +01:00
rustc_incremental Auto merge of #108794 - nnethercote:avoid-unnecessary-hashing, r=cjgillot 2023-03-12 06:48:30 +00:00
rustc_index Match unmatched backticks in compiler/ that are part of rustdoc 2023-03-03 08:39:00 +01:00
rustc_infer Rollup merge of #108726 - est31:backticks_matchmaking_tidy, r=Nilstrieb 2023-03-12 08:13:25 +01:00
rustc_interface Auto merge of #108794 - nnethercote:avoid-unnecessary-hashing, r=cjgillot 2023-03-12 06:48:30 +00:00
rustc_lexer fix(lexer): not skipped whitespace warning for '\x0c' 2023-03-09 22:44:58 +08:00
rustc_lint Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_lint_defs Rollup merge of #108806 - cjgillot:query-lints, r=davidtwco 2023-03-11 15:43:15 +01:00
rustc_llvm Remove an extraneous include 2023-03-07 22:46:39 -08:00
rustc_log Rollup merge of #107895 - matthiaskrgr:cl, r=compiler-errors 2023-02-11 17:18:44 +01:00
rustc_macros Allow using bool for optional diagnostics 2023-02-27 12:54:11 +00:00
rustc_metadata Auto merge of #108820 - cjgillot:ensure-on-disk, r=oli-obk 2023-03-12 14:00:28 +00:00
rustc_middle Auto merge of #108820 - cjgillot:ensure-on-disk, r=oli-obk 2023-03-12 14:00:28 +00:00
rustc_mir_build Auto merge of #108820 - cjgillot:ensure-on-disk, r=oli-obk 2023-03-12 14:00:28 +00:00
rustc_mir_dataflow Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_mir_transform Auto merge of #108820 - cjgillot:ensure-on-disk, r=oli-obk 2023-03-12 14:00:28 +00:00
rustc_monomorphize Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_parse Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_parse_format Replace some thens with some then_somes 2023-02-16 15:26:03 +00:00
rustc_passes Auto merge of #108682 - est31:simplify_dirs, r=davidtwco 2023-03-12 03:51:21 +00:00
rustc_plugin_impl Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_privacy Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_query_impl Ensure value is on the on-disk cache before returning. 2023-03-11 22:41:01 +00:00
rustc_query_system Auto merge of #108820 - cjgillot:ensure-on-disk, r=oli-obk 2023-03-12 14:00:28 +00:00
rustc_resolve Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_serialize Emit the enum discriminant separately for the Encodable macro 2023-02-25 01:04:56 +01:00
rustc_session Auto merge of #108794 - nnethercote:avoid-unnecessary-hashing, r=cjgillot 2023-03-12 06:48:30 +00:00
rustc_smir Change item collection to be on demand 2023-03-07 12:47:25 -08:00
rustc_span Rollup merge of #108797 - thomcc:sourcemap_include_binary_file, r=compiler-errors 2023-03-12 08:13:26 +01:00
rustc_symbol_mangling Simplify message paths 2023-03-11 22:51:57 +01:00
rustc_target Use FxIndexSet instead of FxHashSet for asm_target_features query. 2023-03-01 10:19:26 +01:00
rustc_trait_selection Rollup merge of #108841 - jackh726:issue-90528, r=compiler-errors 2023-03-12 08:13:26 +01:00
rustc_traits Add mk_canonical_var_infos_from_iter. 2023-02-24 07:33:02 +11:00
rustc_transmute rustc_middle: Remove trait DefIdTree 2023-03-02 23:46:44 +04:00
rustc_ty_utils Auto merge of #108682 - est31:simplify_dirs, r=davidtwco 2023-03-12 03:51:21 +00:00
rustc_type_ir Address the new odd backticks tidy lint in compiler/ 2023-03-11 20:40:18 +01:00