rust/library/core/src
Aria Beingessner 5167b6891c Introduce experimental APIs for conforming to "strict provenance".
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.
2022-03-29 20:16:34 -04:00
..
alloc Fix a bunch of typos 2021-12-14 16:40:43 +01:00
array Rollup merge of #94657 - fee1-dead:const_slice_index, r=oli-obk 2022-03-10 12:20:52 +01:00
async_iter Add Stream alias for AsyncIterator 2022-03-15 20:59:13 -07:00
char Debug print char 0 as '\0' rather than '\u{0}' 2022-03-27 04:49:10 -07:00
convert Rollup merge of #92541 - asquared31415:from-docs, r=m-ou-se 2022-03-09 23:14:10 +01:00
ffi merge the char signess list of archs with freebsd as it is the same 2022-03-02 12:12:28 +00:00
fmt Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
future Rollup merge of #91192 - r00ster91:futuredocs, r=GuillaumeGomez 2022-02-21 19:36:46 +01:00
hash change PhantomData type for BuildHasherDefault 2022-01-07 00:39:48 +01:00
iter Rollup merge of #93950 - T-O-R-U-S:use-modern-formatting-for-format!-macros, r=Mark-Simulacrum 2022-03-10 23:12:57 +01:00
macros Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
mem Rollup merge of #88375 - joshlf:patch-3, r=dtolnay 2022-03-28 04:12:09 +02:00
num Inline u8::is_utf8_char_boundary 2022-03-28 18:37:11 +02:00
ops Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
panic Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
prelude update cfg(bootstrap)s 2022-01-28 15:01:07 +01:00
ptr Introduce experimental APIs for conforming to "strict provenance". 2022-03-29 20:16:34 -04:00
slice Bump const_ptr_offset stabilization to 1.61 2022-03-26 21:15:16 -07:00
str Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
sync Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
task Rollup merge of #89869 - kpreid:from-doc, r=yaahc 2022-02-17 06:29:57 +01:00
unicode Regenerate tables for Unicode 14.0.0 2021-10-06 17:49:33 -07:00
any.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
ascii.rs Inline <EscapeDefault as Iterator>::next 2022-03-10 15:35:22 +01:00
bool.rs Rename ~const Drop to ~const Destruct 2022-03-21 17:04:03 +11:00
borrow.rs Make Borrow and BorrowMut impls const 2021-12-04 21:57:39 +09:00
cell.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
clone.rs Rename ~const Drop to ~const Destruct 2022-03-21 17:04:03 +11:00
cmp.rs Edit docs on consistency of PartialOrd and PartialEq 2022-03-04 13:31:32 -06:00
default.rs Add #[must_use] to remaining core functions 2021-10-30 18:21:29 -04:00
hint.rs Add core::hint::must_use 2022-03-08 10:58:03 -08:00
internal_macros.rs Add a copy of cfg_if to core's internal_macros.rs 2022-03-01 16:24:10 -08:00
intrinsics.rs Bump const_ptr_offset stabilization to 1.61 2022-03-26 21:15:16 -07:00
lazy.rs Rollup merge of #89869 - kpreid:from-doc, r=yaahc 2022-02-17 06:29:57 +01:00
lib.rs Rollup merge of #94790 - RalfJung:portable-simd-miri, r=Dylan-DPC 2022-03-10 23:13:01 +01:00
marker.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
option.rs Rollup merge of #94765 - m-ou-se:is-some-and, r=Dylan-DPC 2022-03-11 03:32:04 +01:00
panic.rs resolve the conflict in compiler/rustc_session/src/parse.rs 2022-03-16 20:12:30 +08:00
panicking.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
pin.rs fix pin doc typo 2022-03-06 21:40:30 +08:00
primitive_docs.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
primitive.rs mv std libs to library/ 2020-07-27 19:51:13 -05:00
result.rs Rollup merge of #94765 - m-ou-se:is-some-and, r=Dylan-DPC 2022-03-11 03:32:04 +01:00
time.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
tuple.rs mv std libs to library/ 2020-07-27 19:51:13 -05:00
unit.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00