diff options
| author | Chayim Refael Friedman <chayimfr@gmail.com> | 2025-08-26 19:33:46 +0300 |
|---|---|---|
| committer | Chayim Refael Friedman <chayimfr@gmail.com> | 2025-08-26 19:33:46 +0300 |
| commit | 83f22cc0f87263c0aa3057d55b994d75c6151834 (patch) | |
| tree | 0d27c958e1a11e43571e2edad1014cd68c8715f2 /compiler/rustc_codegen_llvm/src | |
| parent | 7375e2c961ac9f2fe4b6d685c5a73346c6e7f777 (diff) | |
| download | rust-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
