rust/compiler
bors 8521a8c92d Auto merge of #100726 - jswrenn:transmute, r=oli-obk
safe transmute: use `Assume` struct to provide analysis options

This task was left as a TODO in #92268; resolving it brings [`BikeshedIntrinsicFrom`](https://doc.rust-lang.org/nightly/core/mem/trait.BikeshedIntrinsicFrom.html) more in line with the API defined in [MCP411](https://github.com/rust-lang/compiler-team/issues/411).

**Before:**
```rust
pub unsafe trait BikeshedIntrinsicFrom<
    Src,
    Context,
    const ASSUME_ALIGNMENT: bool,
    const ASSUME_LIFETIMES: bool,
    const ASSUME_VALIDITY: bool,
    const ASSUME_VISIBILITY: bool,
> where
    Src: ?Sized,
{}
```
**After:**
```rust
pub unsafe trait BikeshedIntrinsicFrom<Src, Context, const ASSUME: Assume = { Assume::NOTHING }>
where
    Src: ?Sized,
{}
```

`Assume::visibility` has also been renamed to `Assume::safety`, as library safety invariants are what's actually being assumed; visibility is just the mechanism by which it is currently checked (and that may change).

r? `@oli-obk`

---

Related:
- https://github.com/rust-lang/compiler-team/issues/411
- https://github.com/rust-lang/rust/issues/99571
2022-09-04 07:55:44 +00:00
..
rustc Don't rerun the build script for the compiler each time on linux 2022-07-10 23:57:25 -05:00
rustc_apfloat Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_arena Make use of [wrapping_]byte_{add,sub} 2022-08-23 19:32:37 +04:00
rustc_ast Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_ast_lowering Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_ast_passes Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_ast_pretty Fix global_asm macro pretty printing 2022-09-03 08:06:35 +00:00
rustc_attr Also replace the version placeholder in rustc_attr 2022-09-02 01:47:01 +02:00
rustc_borrowck Rollup merge of #101285 - TaKO8Ki:do-not-suggest-adding-move-when-closure-is-already-marked-as-move, r=oli-obk 2022-09-01 21:37:21 +02:00
rustc_builtin_macros Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_codegen_cranelift Auto merge of #97802 - Enselic:add-no_ignore_sigkill-feature, r=joshtriplett 2022-09-02 21:08:08 +00:00
rustc_codegen_gcc Rollup merge of #100653 - cuviper:fptoint_sat, r=michaelwoerister,antoyo 2022-08-30 16:56:09 +05:30
rustc_codegen_llvm Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_codegen_ssa Auto merge of #97802 - Enselic:add-no_ignore_sigkill-feature, r=joshtriplett 2022-09-02 21:08:08 +00:00
rustc_const_eval Auto merge of #101154 - RalfJung:validation-perf, r=oli-obk 2022-09-03 09:20:54 +00:00
rustc_data_structures Auto merge of #100869 - nnethercote:replace-ThinVec, r=spastorino 2022-09-01 08:01:06 +00:00
rustc_driver tracing::instrument cleanup 2022-09-01 14:54:27 +00:00
rustc_error_codes Stabilize #![feature(label_break_value)] 2022-08-23 21:14:12 -05:00
rustc_error_messages Auto merge of #100574 - Urgau:check-cfg-warn-cfg, r=petrochenkov 2022-09-03 12:02:14 +00:00
rustc_errors Rollup merge of #100928 - CleanCut:rustc_metadata_diagnostics, r=davidtwco 2022-09-03 10:33:05 +05:30
rustc_expand Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_feature Auto merge of #97802 - Enselic:add-no_ignore_sigkill-feature, r=joshtriplett 2022-09-02 21:08:08 +00: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 diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_hir Auto merge of #100726 - jswrenn:transmute, r=oli-obk 2022-09-04 07:55:44 +00:00
rustc_hir_pretty Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_incremental Remove trait_of_item query. 2022-08-01 21:39:26 +02:00
rustc_index Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_infer tracing::instrument cleanup 2022-09-01 14:54:27 +00:00
rustc_interface Rollup merge of #100552 - petrochenkov:flavorcompat, r=lqd 2022-09-02 11:34:49 +02:00
rustc_lexer Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_lint Auto merge of #100574 - Urgau:check-cfg-warn-cfg, r=petrochenkov 2022-09-03 12:02:14 +00:00
rustc_lint_defs Add warning against unexpected --cfg with --check-cfg 2022-09-02 12:51:48 +02:00
rustc_llvm Rollup merge of #101025 - semarie:openbsd-archs, r=petrochenkov 2022-08-31 07:57:58 +02:00
rustc_log Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_macros Allow deriving multiple subdiagnostics using one SessionSubdiagnostic 2022-09-01 21:18:01 +02:00
rustc_metadata Do not call object_lifetime_default on lifetime params. 2022-09-03 21:11:42 +02:00
rustc_middle Do not call object_lifetime_default on lifetime params. 2022-09-03 21:11:42 +02:00
rustc_mir_build Use boxed slices in PatKind. 2022-09-02 07:26:22 +10:00
rustc_mir_dataflow Rollup merge of #99027 - tmiasko:basic-blocks, r=oli-obk 2022-08-29 06:34:43 +02:00
rustc_mir_transform Auto merge of #99102 - JakobDegen:reorder-generators, r=oli-obk 2022-08-30 23:43:33 +00:00
rustc_monomorphize Auto merge of #97802 - Enselic:add-no_ignore_sigkill-feature, r=joshtriplett 2022-09-02 21:08:08 +00:00
rustc_parse remove redundant clones 2022-09-03 07:58:41 +02:00
rustc_parse_format Separate CountIsStar from CountIsParam in rustc_parse_format. 2022-08-25 14:49:09 +02:00
rustc_passes Do not call object_lifetime_default on lifetime params. 2022-09-03 21:11:42 +02:00
rustc_plugin_impl Migrate rustc_plugin_impl to SessionDiagnostic 2022-08-22 16:35:05 +01:00
rustc_privacy Rollup merge of #100147 - Bryanskiy:private-in-public, r=petrochenkov 2022-09-02 11:34:48 +02:00
rustc_query_impl Don't create two new closures for each query 2022-09-01 18:47:54 -05:00
rustc_query_system Don't create two new closures for each query 2022-09-01 18:47:54 -05:00
rustc_resolve Do not call object_lifetime_default on lifetime params. 2022-09-03 21:11:42 +02:00
rustc_save_analysis Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_serialize Replace rustc_data_structures::thin_vec::ThinVec with thin_vec::ThinVec. 2022-08-29 15:42:13 +10:00
rustc_session Auto merge of #100574 - Urgau:check-cfg-warn-cfg, r=petrochenkov 2022-09-03 12:02:14 +00:00
rustc_smir Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_span Auto merge of #100726 - jswrenn:transmute, r=oli-obk 2022-09-04 07:55:44 +00:00
rustc_symbol_mangling Always import all tracing macros for the entire crate instead of piecemeal by module 2022-09-01 14:54:27 +00:00
rustc_target rustc_target: Refactor internal linker flavors slightly 2022-09-01 16:54:52 +03:00
rustc_trait_selection Auto merge of #100726 - jswrenn:transmute, r=oli-obk 2022-09-04 07:55:44 +00:00
rustc_traits Fix a bunch of typo 2022-08-31 18:24:55 +08:00
rustc_transmute Auto merge of #100726 - jswrenn:transmute, r=oli-obk 2022-09-04 07:55:44 +00:00
rustc_ty_utils Box PatKind::Range. 2022-09-02 07:26:22 +10:00
rustc_type_ir ADD - diagnostic lints to type_ir 2022-08-18 13:33:03 -04:00
rustc_typeck Rollup merge of #100302 - compiler-errors:deref-path-methods, r=jackh726 2022-09-04 00:20:39 +02:00