Skip to content
Snippets Groups Projects

Refactor type parameter handling

Merged Lennard Gäher requested to merge lennard/universals into main

This refactors type parameter handling in preparation for more trait handling.

Specifically,

  • type parameters are now separately quantified over in function types (like lifetime parameters) instead of being mashed in with the other parameters,
  • we can partially instantiate the type parameters of a function,
  • function type notations have been generalized,
  • Call expressions now also take type parameter annotations (similar to lifetimes) that provide hints for how to instantiate the type parameters of the callee. These suggested instantiations are only used if proving the argument assignments and the precondition does not already determine them.

Merge request reports

Pipeline #105612 passed

Pipeline passed for 9efa0ab0 on lennard/universals

Approval is optional

Merged by Lennard GäherLennard Gäher 6 months ago (Aug 21, 2024 11:35am UTC)

Merge details

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

Pipeline #105626 passed

Pipeline passed for a0a1c4e2 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