about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorChayim Refael Friedman <chayimfr@gmail.com>2025-08-26 19:33:46 +0300
committerChayim Refael Friedman <chayimfr@gmail.com>2025-08-26 19:33:46 +0300
commit83f22cc0f87263c0aa3057d55b994d75c6151834 (patch)
tree0d27c958e1a11e43571e2edad1014cd68c8715f2 /compiler/rustc_codegen_llvm/src
parent7375e2c961ac9f2fe4b6d685c5a73346c6e7f777 (diff)
downloadrust-83f22cc0f87263c0aa3057d55b994d75c6151834.tar.gz
rust-83f22cc0f87263c0aa3057d55b994d75c6151834.zip
Remove `SolverDefId::ForeignId`
Replace it with normal `SolverDefId::TypeAliasId`.

The split caused a very funny bug where code was getting `TypeAliasId` where it expected `ForeignId`, because `TypeAliasId` had a `From` impl from `hir_def::TypeAliasId` and `ForeignId` had not, plus a careless `into()`.

I could've fixed this specific bug but opted to remove the split instead; currently, it just provides more room for bugs, as we don't have typed IDs for the solver anyway, and even when we'll have (hopefully), that doesn't seem like a very useful distinction, for example in hir-def foreign types are just `TypeAliasId` with some flags.

Constructing a test for this isn't trivial; the trivial test (creating a foreign type, even proving a trait bound for it) fails to fail before the change, probably because we don't use the new solver everywhere yet so we don't trigger this specific code path.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions