Module rustc_sanitizers::cfi::typeid::itanium_cxx_abi::encode
source · Expand description
Encodes type metadata identifiers for LLVM CFI and cross-language LLVM CFI support using Itanium C++ ABI mangling for encoding with vendor extended type qualifiers and types for Rust types that are not used across the FFI boundary.
For more information about LLVM CFI and cross-language LLVM CFI support for the Rust compiler, see design document in the tracking issue #89653.
Enums§
- Substitution dictionary key.
- Type and extended type qualifiers.
Functions§
- compress 🔒Substitutes a component if found in the substitution dictionary (see https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling-compression).
- Encodes args using the Itanium C++ ABI with vendor extended type qualifiers and types for Rust types that are not used at the FFI boundary.
- Encodes a const using the Itanium C++ ABI as a literal argument (see https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling.literal).
- Encodes a FnSig using the Itanium C++ ABI with vendor extended type qualifiers and types for Rust types that are not used at the FFI boundary.
- Encodes a predicate using the Itanium C++ ABI with vendor extended type qualifiers and types for Rust types that are not used at the FFI boundary.
- Encodes predicates using the Itanium C++ ABI with vendor extended type qualifiers and types for Rust types that are not used at the FFI boundary.
- Encodes a region using the Itanium C++ ABI as a vendor extended type.
- Encodes a ty:Ty using the Itanium C++ ABI with vendor extended type qualifiers and types for Rust types that are not used at the FFI boundary.
- Encodes a ty:Ty name, including its crate and path disambiguators and names.
- Converts a number to a disambiguator (see https://rust-lang.github.io/rfcs/2603-rust-symbol-name-mangling-v0.html).
- Converts a number to a sequence number (see https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangle.seq-id).
Type Aliases§
- Options for encode_ty.