rust/compiler
bors e50ff9b452 Auto merge of #95241 - Gankra:cleaned-provenance, r=workingjubilee
Strict Provenance MVP

This patch series examines the question: how bad would it be if we adopted
an extremely strict pointer provenance model that completely banished all
int<->ptr casts.

The key insight to making this approach even *vaguely* pallatable is the

ptr.with_addr(addr) -> ptr

function, which takes a pointer and an address and creates a new pointer
with that address and the provenance of the input pointer. In this way
the "chain of custody" is completely and dynamically restored, making the
model suitable even for dynamic checkers like CHERI and Miri.

This is not a formal model, but lots of the docs discussing the model
have been updated to try to the *concept* of this design in the hopes
that it can be iterated on.

See #95228
2022-03-30 10:09:10 +00:00
..
rustc Propagate parallel_compiler feature through rustc crates. Turned off feature gives change of builded crates: 238 -> 224. 2022-03-28 08:41:12 +03:00
rustc_apfloat Spellchecking some comments 2022-03-30 01:39:38 -04:00
rustc_arena mark FIXMES for all the places found that are probably offset_from 2022-03-29 20:18:28 -04:00
rustc_ast Remove Nonterminal::NtTT. 2022-03-28 10:03:02 +11:00
rustc_ast_lowering Spellchecking some comments 2022-03-30 01:39:38 -04:00
rustc_ast_passes Rollup merge of #95461 - nyurik:spelling, r=lcnr 2022-03-30 09:10:07 +02:00
rustc_ast_pretty Remove Nonterminal::NtTT. 2022-03-28 10:03:02 +11:00
rustc_attr Rollup merge of #94948 - jhpratt:rustc_deprecated, r=Dylan-DPC 2022-03-20 09:14:59 +01:00
rustc_borrowck Auto merge of #95466 - Dylan-DPC:rollup-g7ddr8y, r=Dylan-DPC 2022-03-30 07:45:42 +00:00
rustc_builtin_macros Spellchecking some comments 2022-03-30 01:39:38 -04:00
rustc_codegen_cranelift Rollup merge of #95461 - nyurik:spelling, r=lcnr 2022-03-30 09:10:07 +02:00
rustc_codegen_gcc Rollup merge of #95461 - nyurik:spelling, r=lcnr 2022-03-30 09:10:07 +02:00
rustc_codegen_llvm Rollup merge of #95461 - nyurik:spelling, r=lcnr 2022-03-30 09:10:07 +02:00
rustc_codegen_ssa Auto merge of #95241 - Gankra:cleaned-provenance, r=workingjubilee 2022-03-30 10:09:10 +00:00
rustc_const_eval Auto merge of #95466 - Dylan-DPC:rollup-g7ddr8y, r=Dylan-DPC 2022-03-30 07:45:42 +00:00
rustc_data_structures Auto merge of #95466 - Dylan-DPC:rollup-g7ddr8y, r=Dylan-DPC 2022-03-30 07:45:42 +00:00
rustc_driver Propagate parallel_compiler feature through rustc crates. Turned off feature gives change of builded crates: 238 -> 224. 2022-03-28 08:41:12 +03:00
rustc_error_codes Add long error explanation for E0667 2022-03-27 14:09:52 +02:00
rustc_errors Spellchecking some comments 2022-03-30 01:39:38 -04:00
rustc_expand Spellchecking some comments 2022-03-30 01:39:38 -04:00
rustc_feature move adt_const_params to its own tracking issue 2022-03-21 16:33:42 +01:00
rustc_fs_util
rustc_graphviz eplace usages of vec![].into_iter with [].into_iter 2022-01-09 14:09:25 +11:00
rustc_hir Rollup merge of #95461 - nyurik:spelling, r=lcnr 2022-03-30 09:10:07 +02:00
rustc_hir_pretty resolve: Fix incorrect results of opt_def_kind query for some built-in macros 2022-02-24 22:54:36 +03:00
rustc_incremental Spellchecking some comments 2022-03-30 01:39:38 -04:00
rustc_index Fix small typo in FIXME 2022-03-15 12:04:23 +01:00
rustc_infer Auto merge of #94081 - oli-obk:lazy_tait_take_two, r=nikomatsakis 2022-03-30 05:04:45 +00:00
rustc_interface Propagate parallel_compiler feature through rustc crates. Turned off feature gives change of builded crates: 238 -> 224. 2022-03-28 08:41:12 +03:00
rustc_lexer Add test for >65535 hashes in lexing raw string 2022-03-16 06:37:41 +01:00
rustc_lint Remove opaque type obligation and just register opaque types as they are encountered. 2022-03-28 16:57:45 +00:00
rustc_lint_defs resolve the conflict in compiler/rustc_session/src/parse.rs 2022-03-16 20:12:30 +08:00
rustc_llvm RustWrapper: add missing include 2022-03-10 11:16:33 -05:00
rustc_log Make rustc_log doc test runnable 2022-01-03 22:31:56 -08:00
rustc_macros add #[rustc_pass_by_value] to more types 2022-03-08 15:39:52 +01:00
rustc_metadata rustc_error: make ErrorReported impossible to construct 2022-03-16 10:35:24 -05:00
rustc_middle Auto merge of #95466 - Dylan-DPC:rollup-g7ddr8y, r=Dylan-DPC 2022-03-30 07:45:42 +00:00
rustc_mir_build Auto merge of #95466 - Dylan-DPC:rollup-g7ddr8y, r=Dylan-DPC 2022-03-30 07:45:42 +00:00
rustc_mir_dataflow Nit 2022-03-27 10:58:55 -07:00
rustc_mir_transform Auto merge of #95149 - cjgillot:once-diag, r=estebank 2022-03-26 00:54:54 +00:00
rustc_monomorphize Make fatal DiagnosticBuilder yield never 2022-03-27 22:25:32 -07:00
rustc_parse Rollup merge of #95461 - nyurik:spelling, r=lcnr 2022-03-30 09:10:07 +02:00
rustc_parse_format Correctly mark the span of captured arguments in format_args!() 2022-02-16 07:34:06 +00:00
rustc_passes use format-args-capture and remove unnecessary nested if blocks in some parts of rustc_passes 2022-03-22 00:02:18 +09:00
rustc_plugin_impl replace dynamic library module with libloading 2021-12-06 12:03:47 -05:00
rustc_privacy rustc_error: make ErrorReported impossible to construct 2022-03-16 10:35:24 -05:00
rustc_query_impl Propagate parallel_compiler feature through rustc crates. Turned off feature gives change of builded crates: 238 -> 224. 2022-03-28 08:41:12 +03:00
rustc_query_system Auto merge of #94081 - oli-obk:lazy_tait_take_two, r=nikomatsakis 2022-03-30 05:04:45 +00:00
rustc_resolve resolve: Simplify some diagnostic code to avoid an ICE 2022-03-27 02:43:29 +03:00
rustc_save_analysis Improve AdtDef interning. 2022-03-11 13:31:24 +11:00
rustc_serialize Delete Decoder::read_unit 2022-02-22 18:14:51 -05:00
rustc_session Make fatal DiagnosticBuilder yield never 2022-03-27 22:25:32 -07:00
rustc_span Make fatal DiagnosticBuilder yield never 2022-03-27 22:25:32 -07:00
rustc_symbol_mangling resolve the conflict in compiler/rustc_session/src/parse.rs 2022-03-16 20:12:30 +08:00
rustc_target Rollup merge of #95341 - Meziu:armv6k-3ds-target, r=nagisa 2022-03-27 05:36:11 +02:00
rustc_trait_selection Auto merge of #95466 - Dylan-DPC:rollup-g7ddr8y, r=Dylan-DPC 2022-03-30 07:45:42 +00:00
rustc_traits Remove opaque type obligation and just register opaque types as they are encountered. 2022-03-28 16:57:45 +00:00
rustc_ty_utils Rename ~const Drop to ~const Destruct 2022-03-21 17:04:03 +11:00
rustc_type_ir Revert "Auto merge of #93893 - oli-obk:sad_revert, r=oli-obk" 2022-03-28 16:27:14 +00:00
rustc_typeck Auto merge of #94081 - oli-obk:lazy_tait_take_two, r=nikomatsakis 2022-03-30 05:04:45 +00:00