about summary refs log tree commit diff
path: root/compiler/rustc_ast_lowering/src/stability.rs
AgeCommit message (Collapse)AuthorLines
2025-06-25compiler: remove misleading 'c' from `abi_c_cmse_nonsecure_call` featureJubilee Young-1/+1
2025-06-25compiler: Trim the misleading C from ExternAbi::CCmse*Jubilee Young-2/+2
2025-06-24Add rust-invalid ABIMichael Goulet-0/+3
2025-06-12add `extern "custom"` functionsFolkert de Vries-0/+3
2025-04-06remove compiler support for `extern "rust-intrinsic"` blocksSkgland-4/+0
2025-02-11compiler: remove AbiDatasJubilee Young-4/+4
These were a way to ensure hashes were stable over time for ExternAbi, but simply hashing the strings is more stable in the face of changes. As a result, we can do away with them.
2025-02-11compiler: compare and hash ExternAbi like its stringJubilee Young-7/+2
Directly map each ExternAbi variant to its string and back again. This has a few advantages: - By making the ABIs compare equal to their strings, we can easily lexicographically sort them and use that sorted slice at runtime. - We no longer need a workaround to make sure the hashes remain stable, as they already naturally are (by being the hashes of unique strings). - The compiler can carry around less &str wide pointers
2025-02-09compiler: start using rustc_ast_lowering in rustc_passesJubilee Young-2/+2
2025-02-09compiler: gate `extern "{abi}"` in ast_loweringJubilee Young-0/+147
By moving this stability check into AST lowering, we effectively make it impossible to accidentally miss, as it must happen to generate HIR. Also, we put the ABI-stability code next to code that actually uses it! This allows code that wants to reason about backend ABI implementations to stop worrying about high-level concerns like syntax stability, while still leaving it as the authority on what ABIs actually exist. It also makes it easy to refactor things to have more consistent errors. For now, we only apply this to generalize the existing messages a bit.