Skip to content
Snippets Groups Projects

New trait encoding scheme and add support for more specific trait impls

Merged Lennard Gäher requested to merge lennard/trait-instances into main

This changes the trait encoding scheme to also use the generic encoding from !56 (merged) in order to handle type parameters and lifetime parameters of traits and trait impls correctly.

Along the way, this makes some more changes, such as:

  • refactor FunctionSpec so that we can intern it and create references
  • refactor spec parsing
  • defer normalization of types, as rustc's normalization can't deal with Polonius region variables in Alias

There are some things missing that will be fixed in a future MR:

  • correctly export the specifications of impls
  • correctly handle lifetime parameters in the translation

Merge request reports

Pipeline #107031 passed

Pipeline passed for a9be8319 on lennard/trait-instances

Approval is optional

Merged by Lennard GäherLennard Gäher 6 months ago (Sep 12, 2024 11:08am UTC)

Merge details

  • Changes merged into with 5b7c2494.
  • Deleted the source branch.
  • Auto-merge enabled

Pipeline #107032 passed

Pipeline passed for 5b7c2494 on main

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply
Loading