about summary refs log tree commit diff
path: root/tests/rustdoc-js-std/parser-errors.js
diff options
context:
space:
mode:
authorChayim Refael Friedman <chayimfr@gmail.com>2025-09-10 03:32:06 +0300
committerChayim Refael Friedman <chayimfr@gmail.com>2025-09-10 03:32:06 +0300
commit4a4b77f1c75e48944507fd69e75db36a1658f800 (patch)
tree5b0e5758c999792e8b53151dda3c0f9e82030313 /tests/rustdoc-js-std/parser-errors.js
parent1acb4c2c1621578ea787afb698ed8718cbdf3d4f (diff)
downloadrust-4a4b77f1c75e48944507fd69e75db36a1658f800.tar.gz
rust-4a4b77f1c75e48944507fd69e75db36a1658f800.zip
Properly handle normalization
Previously normalization was broken, which caused a lot of fake errors.

This fix most type mismatches of the new solver, and it also reverts many test regressions.

The downside is that now `chalk_ir::TyKind::AssociatedType`/`chalk_ir::TyKind::Alias` cannot be trusted anymore with their roles, namely: `AssociatedType` is always fully normalized and `Alias` only if it can possibly be normalized further. That seems okay as the new solver does not have this distinction at all (due to it being a lazy normalizer), so this will only hold for the migration time. This does mean we have to change some APIs, notably `hir::Type::walk()` and `TyFingerprint`, to treat `Alias` the same as `AssociatedType`.

Another small thing this commit does is to isolate processing of user-written types (currently involving replacing error types and normalizing, but in the future validation will also be needed) to separate functions.
Diffstat (limited to 'tests/rustdoc-js-std/parser-errors.js')
0 files changed, 0 insertions, 0 deletions