Jack Wrenn
1d844fe629
safe transmute: use FxIndex{Map,Set}
instead of FxHash{Map,Set}
...
resolves query instability issues, and probably better for performance
2022-08-23 15:52:49 +00:00
Jack Wrenn
f46fffc276
safe transmute: use Assume
struct to provide analysis options
...
This was left as a TODO in #92268 , and brings the trait more in
line with what was defined in MCP411.
`Assume::visibility` has been renamed to `Assume::safety`, as
library safety is what's actually being assumed; visibility is
just the mechanism by which it is currently checked (this may
change).
ref: https://github.com/rust-lang/compiler-team/issues/411
ref: https://github.com/rust-lang/rust/issues/99571
2022-08-22 18:37:54 +00:00
Jhonny Bill Mena
c835d9c0d2
ADD - diagnostic lints to rustc_transmute
...
Module is complete because it has zero diagnostics.
2022-08-21 09:17:09 -04:00
David Tolnay
39809c5f68
Replace a try_fold in rustc_transmute to use ControlFlow instead of Result
2022-08-17 17:20:42 -07:00
David Tolnay
83f081fc01
Remove unstable Result::into_ok_or_err
2022-08-17 17:20:42 -07:00
Jack Wrenn
965ffb0b5c
safe transmute: fix broken intradoc link
2022-08-02 14:44:23 +00:00
Jack Wrenn
e8a1925b64
safe transmute: use AtomicU32
State
ids to appease mips
...
...instead of `AtomicU64`, which is unavailable.
ref: https://github.com/rust-lang/rust/pull/92268#issuecomment-1197797990
2022-07-28 13:47:11 +00:00
Jack Wrenn
aee5f31c68
safe transmute: lowercase tracing levels
...
ref: https://github.com/rust-lang/rust/pull/92268#discussion_r927095154
2022-07-27 17:33:57 +00:00
Jack Wrenn
2268603046
safe transmute: tweak Nfa::union
to consume params by value
...
ref: https://github.com/rust-lang/rust/pull/92268#discussion_r925274516
2022-07-27 17:33:57 +00:00
Jack Wrenn
c0d0ce95eb
safe transmute: tweak tracing
...
ref: https://github.com/rust-lang/rust/pull/92268#discussion_r925246903
ref: https://github.com/rust-lang/rust/pull/92268#discussion_r925250811
ref: https://github.com/rust-lang/rust/pull/92268#discussion_r925255782
2022-07-27 17:33:56 +00:00
Jack Wrenn
bc4a1dea41
Initial (incomplete) implementation of transmutability trait.
...
This initial implementation handles transmutations between types with specified layouts, except when references are involved.
Co-authored-by: Igor null <m1el.2027@gmail.com>
2022-07-27 17:33:56 +00:00