rust/compiler
bors 3406ada96f Auto merge of #117658 - RalfJung:ptr-dangling, r=m-ou-se
rename ptr::invalid -> ptr::without_provenance

It has long bothered me that `ptr::invalid` returns a pointer that is actually valid for zero-sized memory accesses. In general, it doesn't even make sense to ask "is this pointer valid", you have to ask "is this pointer valid for a given memory access". We could say that a pointer is invalid if it is not valid for *any* memory access, but [the way this FCP is going](https://github.com/rust-lang/unsafe-code-guidelines/issues/472), it looks like *all* pointers will be valid for zero-sized memory accesses.

Two possible alternative names emerged as people's favorites:
1. Something involving `dangling`, in analogy to `NonNull::dangling`. To avoid inconsistency with the `NonNull` method, the address-taking method could be called `dangling_at(addr: usize) -> *const T`.
2. `without_provenance`, to be symmetric with the inverse operation `ptr.addr_without_provenance()` (currently still called `ptr.addr()` but probably going to be renamed)

I have no idea which one of these is better. I read [this comment](https://github.com/rust-lang/rust/pull/117658#issuecomment-1830934701) as expressing a slight preference for something like the second option, so I went for that. I'm happy to go with `dangling_at` as well.

Cc `@rust-lang/opsem`
2024-02-21 21:48:38 +00:00
..
rustc
rustc_abi
rustc_arena rename ptr::invalid -> ptr::without_provenance 2024-02-21 20:15:52 +01:00
rustc_ast Allow AST and HIR visitors to return ControlFlow 2024-02-18 03:49:28 -05:00
rustc_ast_lowering Convert delayed_bugs to bugs. 2024-02-21 10:20:05 +11:00
rustc_ast_passes Remove an unchecked_error_guaranteed call. 2024-02-21 17:02:30 +11:00
rustc_ast_pretty Rollup merge of #121109 - nnethercote:TyKind-Err-guar-2, r=oli-obk 2024-02-16 00:27:32 +01:00
rustc_attr Use generic NonZero internally. 2024-02-15 08:09:42 +01:00
rustc_baked_icu_data
rustc_borrowck Inline NllTypeRelating into its only usage site 2024-02-21 18:37:53 +00:00
rustc_builtin_macros Rollup merge of #121318 - kadiwa4:no_assembly_in_supposedly_safe_code, r=Nilstrieb 2024-02-20 15:13:55 +01:00
rustc_codegen_cranelift Auto merge of #120718 - saethlin:reasonable-fast-math, r=nnethercote 2024-02-21 09:43:33 +00:00
rustc_codegen_gcc Auto merge of #120718 - saethlin:reasonable-fast-math, r=nnethercote 2024-02-21 09:43:33 +00:00
rustc_codegen_llvm Auto merge of #120718 - saethlin:reasonable-fast-math, r=nnethercote 2024-02-21 09:43:33 +00:00
rustc_codegen_ssa Auto merge of #120718 - saethlin:reasonable-fast-math, r=nnethercote 2024-02-21 09:43:33 +00:00
rustc_const_eval Rollup merge of #121396 - RalfJung:mir-const-value-inspect, r=oli-obk 2024-02-21 16:33:00 +01:00
rustc_data_structures Auto merge of #121265 - klensy:bump-18-02-24, r=Mark-Simulacrum 2024-02-18 16:54:15 +00:00
rustc_driver
rustc_driver_impl windows bump to 0.52 2024-02-18 16:02:16 +03:00
rustc_error_codes Improve wording of static_mut_ref 2024-02-18 06:01:40 +03:00
rustc_error_messages errors: only eagerly translate subdiagnostics 2024-02-15 10:34:41 +00:00
rustc_errors Remove some no-longer-needed pub(crate) markers. 2024-02-21 11:03:33 +11:00
rustc_expand Rollup merge of #121288 - tshepang:make-expand-translatable, r=michaelwoerister 2024-02-21 08:55:56 +00:00
rustc_feature Auto merge of #120500 - oli-obk:intrinsics2.0, r=WaffleLapkin 2024-02-16 09:53:01 +00:00
rustc_fluent_macro Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_fs_util Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_graphviz Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_hir Rollup merge of #121256 - Jarcho:visitor2, r=oli-obk 2024-02-20 07:35:47 +01:00
rustc_hir_analysis Auto merge of #121383 - Dylan-DPC:rollup-735p4u4, r=Dylan-DPC 2024-02-21 12:09:22 +00:00
rustc_hir_pretty Lower anonymous structs or unions to HIR 2024-02-12 12:47:23 +08:00
rustc_hir_typeck Rollup merge of #121328 - ffmancera:ff/verbose_long_type, r=compiler-errors 2024-02-21 08:55:57 +00:00
rustc_incremental Use better heuristic for printing Cargo specific diagnostics 2024-02-17 16:49:01 +01:00
rustc_index Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_index_macros Step all bootstrap cfgs forward 2024-02-08 07:44:34 -05:00
rustc_infer Inline NllTypeRelating into its only usage site 2024-02-21 18:37:53 +00:00
rustc_interface Rollup merge of #121209 - nnethercote:infallible-join_codegen, r=bjorn3 2024-02-17 18:47:42 +01:00
rustc_lexer Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_lint Rollup merge of #121338 - jieyouxu:ambiguous_wide_pointer_comparisons_suggestion, r=Nadrieril 2024-02-21 08:55:58 +00:00
rustc_lint_defs Rollup merge of #120716 - spastorino:change-some-lint-msgs, r=lcnr 2024-02-20 07:35:45 +01:00
rustc_llvm Add "algebraic" versions of the fast-math intrinsics 2024-02-20 12:39:03 -05:00
rustc_log Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_macros Docs for extension proc-macro 2024-02-21 05:32:08 +00:00
rustc_metadata Rollup merge of #121167 - petrochenkov:unload2, r=wesleywiser 2024-02-20 15:13:50 +01:00
rustc_middle Rollup merge of #121328 - ffmancera:ff/verbose_long_type, r=compiler-errors 2024-02-21 08:55:57 +00:00
rustc_mir_build Rollup merge of #121175 - Nadrieril:simplify-or-selection, r=matthewjasper 2024-02-21 16:32:57 +01:00
rustc_mir_dataflow Auto merge of #120500 - oli-obk:intrinsics2.0, r=WaffleLapkin 2024-02-16 09:53:01 +00:00
rustc_mir_transform Convert delayed_bugs to bugs. 2024-02-21 10:20:05 +11:00
rustc_monomorphize Reduce capabilities of Diagnostic. 2024-02-20 13:22:17 +11:00
rustc_next_trait_solver Move visitable bounds up into interner 2024-02-13 15:53:15 +00:00
rustc_parse Rollup merge of #121379 - nnethercote:rm-unchecked_error_guaranteed, r=oli-obk 2024-02-21 16:32:59 +01:00
rustc_parse_format remove a couple of redundant clones 2024-02-17 12:46:18 +01:00
rustc_passes Rollup merge of #121167 - petrochenkov:unload2, r=wesleywiser 2024-02-20 15:13:50 +01:00
rustc_pattern_analysis Auto merge of #120576 - nnethercote:merge-Diagnostic-DiagnosticBuilder, r=davidtwco 2024-02-20 12:05:09 +00:00
rustc_privacy Dejargnonize subst 2024-02-12 15:46:35 +09:00
rustc_query_impl Replace NonZero::<_>::new with NonZero::new. 2024-02-15 08:09:42 +01:00
rustc_query_system Use generic NonZero internally. 2024-02-15 08:09:42 +01:00
rustc_resolve Convert bugs back to delayed_bugs. 2024-02-21 10:35:54 +11:00
rustc_serialize Replace NonZero::<_>::new with NonZero::new. 2024-02-15 08:09:42 +01:00
rustc_session Auto merge of #120576 - nnethercote:merge-Diagnostic-DiagnosticBuilder, r=davidtwco 2024-02-20 12:05:09 +00:00
rustc_smir Merge CompilerError::CompilationFailed and CompilerError::ICE. 2024-02-17 09:40:44 +11:00
rustc_span Auto merge of #120718 - saethlin:reasonable-fast-math, r=nnethercote 2024-02-21 09:43:33 +00:00
rustc_symbol_mangling Rollup merge of #120958 - ShoyuVanilla:remove-subst, r=oli-obk 2024-02-12 23:18:54 +01:00
rustc_target Rollup merge of #121291 - heiher:revert-medium-cmodel, r=Nilstrieb 2024-02-20 15:13:54 +01:00
rustc_trait_selection Rollup merge of #121359 - lcnr:typesystem-cleanup, r=compiler-errors 2024-02-21 16:32:58 +01:00
rustc_traits Rename some normalization-related items 2024-02-20 17:30:49 +01:00
rustc_transmute Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_ty_utils Rollup merge of #121208 - nnethercote:delayed_bug-to-bug, r=lcnr 2024-02-21 08:55:56 +00:00
rustc_type_ir Introduce expand_weak_alias_tys 2024-02-20 17:31:49 +01:00
stable_mir Merge CompilerError::CompilationFailed and CompilerError::ICE. 2024-02-17 09:40:44 +11:00