diff options
| author | Matthias Krüger <476013+matthiaskrgr@users.noreply.github.com> | 2025-05-21 08:05:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-21 08:05:21 +0200 |
| commit | bb7291e71ba1461d273379a762bb1e5bab9ca8c1 (patch) | |
| tree | 686eb07b543ceb8449660929647f8d1438bc286b /compiler/rustc_parse/src/errors.rs | |
| parent | c5920278d398480c49138d71bdcfdaa8bcbfc182 (diff) | |
| parent | 9d1cf125f8ba4e509d5eacc2193b6b2c0999f9e1 (diff) | |
| download | rust-bb7291e71ba1461d273379a762bb1e5bab9ca8c1.tar.gz rust-bb7291e71ba1461d273379a762bb1e5bab9ca8c1.zip | |
Rollup merge of #141222 - mathisbot:ptr_trycastaligned, r=tgross35
Implement `ptr::try_cast_aligned` and `NonNull::try_cast_aligned`. Implement three common methods on raw pointers and `NonNull`s: `try_cast_aligned`. ## Related links - Tracking Issue: https://github.com/rust-lang/rust/issues/141221 ## About `#[inline]` Since the result of a call to `align_of` is a power of two known at compile time, the compiler is able to reduce a call to `try_cast_aligned` to only test and sete (or test and jne if followed by `unwrap`), at least on every tier 1 target's arch. This seemed like a good reason to `#[inline]` the function. - https://godbolt.org/z/ocehvPWMx (raw inlining) - https://godbolt.org/z/3qa4j4Yrn (comparison with no inlining)
Diffstat (limited to 'compiler/rustc_parse/src/errors.rs')
0 files changed, 0 insertions, 0 deletions
