rust/compiler
bors c97b539e40 Auto merge of #104940 - cjgillot:query-feed-simple, r=oli-obk
Allow to feed a value in another query's cache

Restricted version of https://github.com/rust-lang/rust/pull/96840

A query can create new definitions.

If those definitions are created after HIR lowering, they do not appear in the initial HIR map, and information for them cannot be provided in the normal pull-based way.

In order to make those definitions useful, we allow to feed values as query results for the newly created definition.

The API is as follows:
```rust
let feed = tcx.create_def(<parent def id>, <DefPathData>);
// `feed` is a TyCtxtFeed<'tcx>.

// Access the created definition.
let def_id: LocalDefId = feed.def_id;

// Assign `my_query(def_id) := my_value`.
feed.my_query(my_value).
```

This PR keeps the consistency checks introduced by https://github.com/rust-lang/rust/pull/96840, even if they are not reachable. This allows to extend the behaviour later without forgetting them.

cc `@oli-obk` `@spastorino`
2022-11-30 17:20:14 +00:00
..
rustc rustc: Use unix_sigpipe instead of rustc_driver::set_sigpipe_handler 2022-10-02 17:49:36 +02:00
rustc_abi Simplify and document range layout computation 2022-11-25 08:39:11 +00:00
rustc_apfloat Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_arena rustc_arena: remove a couple of ref patterns 2022-11-22 18:49:29 +00:00
rustc_ast Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it. 2022-11-28 15:18:53 +11:00
rustc_ast_lowering Make TyCtxtFeed::def_id private. 2022-11-29 18:50:29 +00:00
rustc_ast_passes rustc_ast_passes: remove ref patterns 2022-11-29 08:09:57 +00:00
rustc_ast_pretty add FIXME: where it belongs 2022-11-29 22:01:49 +04:00
rustc_attr Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it. 2022-11-28 15:18:53 +11:00
rustc_baked_icu_data Update crate documentation of rustc_baked_icu_data crate 2022-11-18 14:46:36 -08:00
rustc_borrowck Auto merge of #104905 - compiler-errors:normalization-changes, r=spastorino 2022-11-30 11:13:09 +00:00
rustc_builtin_macros Fix an ICE parsing a malformed literal in concat_bytes!. 2022-11-30 12:19:07 +11:00
rustc_codegen_cranelift Prefer doc comments over //-comments in compiler 2022-11-27 11:19:04 +00:00
rustc_codegen_gcc Rollup merge of #104976 - WaffleLapkin:move_comments, r=cjgillot 2022-11-27 22:14:08 +01:00
rustc_codegen_llvm Auto merge of #104679 - dvdhrm:rw/dso, r=petrochenkov 2022-11-30 04:18:15 +00:00
rustc_codegen_ssa Rollup merge of #104360 - petrochenkov:stabverb, r=TaKO8Ki 2022-11-28 15:42:09 +05:30
rustc_const_eval Auto merge of #104905 - compiler-errors:normalization-changes, r=spastorino 2022-11-30 11:13:09 +00:00
rustc_data_structures fix document 2022-11-28 18:31:55 +08:00
rustc_driver Prefer doc comments over //-comments in compiler 2022-11-27 11:19:04 +00:00
rustc_error_codes Auto merge of #103491 - cjgillot:self-rpit, r=oli-obk 2022-11-21 12:17:03 +00:00
rustc_error_messages Rollup merge of #104621 - YC:master, r=davidtwco 2022-11-22 22:54:40 -05:00
rustc_errors Tweak output 2022-11-28 00:11:12 -08:00
rustc_expand Rollup merge of #104804 - nnethercote:MetaItemLit, r=petrochenkov 2022-11-28 17:25:46 +01:00
rustc_feature Stabilize native library modifier verbatim 2022-11-27 22:36:32 +03:00
rustc_fs_util Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_graphviz Add initial version of value analysis and dataflow constant propagation 2022-11-07 10:35:08 +01:00
rustc_hir Only allow feeding a value to newly created definitions. 2022-11-29 18:43:00 +00:00
rustc_hir_analysis Auto merge of #104905 - compiler-errors:normalization-changes, r=spastorino 2022-11-30 11:13:09 +00:00
rustc_hir_pretty Auto merge of #104048 - cjgillot:split-lifetime, r=compiler-errors 2022-11-27 14:30:19 +00:00
rustc_hir_typeck Auto merge of #104905 - compiler-errors:normalization-changes, r=spastorino 2022-11-30 11:13:09 +00:00
rustc_incremental Prefer doc comments over //-comments in compiler 2022-11-27 11:19:04 +00:00
rustc_index move things from rustc_target::abi to rustc_abi 2022-11-24 16:26:13 +03:30
rustc_infer Auto merge of #99814 - aliemjay:patch-2, r=jackh726 2022-11-30 14:03:36 +00:00
rustc_interface Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it. 2022-11-28 15:18:53 +11:00
rustc_lexer Auto merge of #104507 - WaffleLapkin:asderefsyou, r=wesleywiser 2022-11-24 00:17:35 +00:00
rustc_lint Make inferred_outlives_crate return Clause 2022-11-29 12:01:58 -03:00
rustc_lint_defs Make deref_into_dyn_supertrait lint the impl and not the usage 2022-11-23 15:40:27 +00:00
rustc_llvm [llvm-wrapper] adapt for LLVM API change 2022-11-25 11:29:00 +00:00
rustc_log Use IsTerminal in rustc_log 2022-10-16 15:10:40 +01:00
rustc_macros Sanity check computed value for feeable queries. 2022-11-29 18:42:23 +00:00
rustc_metadata Make inferred_outlives_crate return Clause 2022-11-29 12:01:58 -03:00
rustc_middle Auto merge of #104940 - cjgillot:query-feed-simple, r=oli-obk 2022-11-30 17:20:14 +00:00
rustc_mir_build Remove Const::from_value 2022-11-28 17:28:30 +00:00
rustc_mir_dataflow Rewrite dest prop. 2022-11-26 18:04:54 -08:00
rustc_mir_transform Rollup merge of #104732 - WaffleLapkin:from_def_idn't, r=compiler-errors 2022-11-28 15:42:10 +05:30
rustc_monomorphize Prefer doc comments over //-comments in compiler 2022-11-27 11:19:04 +00:00
rustc_parse Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it. 2022-11-28 15:18:53 +11:00
rustc_parse_format shift no characters when using raw string literals 2022-11-15 14:28:20 +09:00
rustc_passes Rollup merge of #105023 - tmiasko:asm-sym-static-reachable, r=wesleywiser 2022-11-29 22:43:19 +01:00
rustc_plugin_impl Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_privacy Auto merge of #99798 - JulianKnodt:ac1, r=BoxyUwU 2022-11-25 22:56:59 +00:00
rustc_query_impl Auto merge of #104940 - cjgillot:query-feed-simple, r=oli-obk 2022-11-30 17:20:14 +00:00
rustc_query_system Sanity check computed value for feeable queries. 2022-11-29 18:42:23 +00:00
rustc_resolve clean up pr 104954 2022-11-29 10:41:21 +08:00
rustc_save_analysis Rollup merge of #104976 - WaffleLapkin:move_comments, r=cjgillot 2022-11-27 22:14:08 +01:00
rustc_serialize rename {max=>largest}_max_leb128_len 2022-11-29 17:58:09 +00:00
rustc_session Stabilize native library modifier verbatim 2022-11-27 22:36:32 +03:00
rustc_smir Only keep one version of ImplicitSelfKind. 2022-09-13 19:18:23 +02:00
rustc_span Rollup merge of #104976 - WaffleLapkin:move_comments, r=cjgillot 2022-11-27 22:14:08 +01:00
rustc_symbol_mangling Rollup merge of #104786 - WaffleLapkin:amp-mut-help, r=compiler-errors 2022-11-26 17:47:23 +01:00
rustc_target Rollup merge of #104523 - flba-eb:fix_nto_target_name, r=wesleywiser 2022-11-29 22:43:17 +01:00
rustc_trait_selection Auto merge of #104905 - compiler-errors:normalization-changes, r=spastorino 2022-11-30 11:13:09 +00:00
rustc_traits Make ObligationCtxt::normalize take cause by borrow 2022-11-28 17:35:40 +00:00
rustc_transmute Auto merge of #103831 - chenyukang:yukang/fix-103751-ice, r=nagisa 2022-11-05 13:48:30 +00:00
rustc_ty_utils Auto merge of #105012 - WaffleLapkin:into, r=oli-obk 2022-11-29 13:28:44 +00:00
rustc_type_ir Remove some unnecessary slicing 2022-11-21 20:38:55 +00:00