Module 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ยง

DictKey ๐Ÿ”’
Substitution dictionary key.
TyQ ๐Ÿ”’
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).
encode_args ๐Ÿ”’
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.
encode_const ๐Ÿ”’
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).
encode_fnsig ๐Ÿ”’
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.
encode_predicate ๐Ÿ”’
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.
encode_predicates ๐Ÿ”’
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.
encode_region ๐Ÿ”’
Encodes a region using the Itanium C++ ABI as a vendor extended type.
encode_ty ๐Ÿ”’
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.
encode_ty_name ๐Ÿ”’
Encodes a ty:Ty name, including its crate and path disambiguators and names.
to_disambiguator ๐Ÿ”’
Converts a number to a disambiguator (see https://rust-lang.github.io/rfcs/2603-rust-symbol-name-mangling-v0.html).
to_seq_id ๐Ÿ”’
Converts a number to a sequence number (see https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangle.seq-id).

Type Aliasesยง

EncodeTyOptions ๐Ÿ”’
Options for encode_ty.