| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2024-04-08 | Compute transmutability from `rustc_target::abi::Layout` | Jack Wrenn | -283/+33 | |
| In its first step of computing transmutability, `rustc_transmutability` constructs a byte-level representation of type layout (`Tree`). Previously, this representation was computed for ADTs by inspecting the ADT definition and performing our own layout computations. This process was error-prone, verbose, and limited our ability to analyze many types (particularly default-repr types). In this PR, we instead construct `Tree`s from `rustc_target::abi::Layout`s. This helps ensure that layout optimizations are reflected our analyses, and increases the kinds of types we can now analyze, including: - default repr ADTs - transparent unions - `UnsafeCell`-containing types Overall, this PR expands the expressvity of `rustc_transmutability` to be much closer to the transmutability analysis performed by miri. Future PRs will work to close the remaining gaps (e.g., support for `Box`, raw pointers, `NonZero*`, coroutines, etc.). | ||||
| 2024-03-15 | Safe Transmute: Use 'not yet supported', not 'unspecified' in errors | Jack Wrenn | -12/+12 | |
| We can (and will) support analyzing the transmutability of types whose layouts aren't completely specified by its repr. This change ensures that the error messages remain sensible after this support lands. | ||||
| 2024-02-27 | safe transmute: revise safety analysis | Jack Wrenn | -60/+55 | |
| Migrate to a simplified safety analysis that does not use visibility. Closes https://github.com/rust-lang/project-safe-transmute/issues/15 | ||||
| 2024-02-16 | [AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives | 许杰友 Jieyou Xu (Joe) | -3/+3 | |
| 2024-01-09 | Fix an ICE that occurs after an error has already been reported | Oli Scherer | -0/+47 | |
| 2023-04-13 | Improve safe transmute error reporting | Bryan Garza | -36/+24 | |
| This patch updates the error reporting when Safe Transmute is not possible between 2 types by including the reason. Also, fix some small bugs that occur when computing the `Answer` for transmutability. | ||||
| 2023-02-21 | Specify what 'this' actually is | Michael Goulet | -12/+12 | |
| 2023-01-11 | Move /src/test to /tests | Albert Larsan | -0/+483 | |
