rust-lang / types-team

Home of the "types team", affiliated with the compiler and lang teams.
https://rust-lang.github.io/types-team/
Apache License 2.0
94 stars 19 forks source link

Add experimental support for implication predicates #80

Closed compiler-errors closed 9 months ago

compiler-errors commented 1 year ago

Proposal

Implement implication predicates [A1, A2, ..] => B that have the the following behavior:

This proposal does not suggest adding surface syntax for these predicates yet, just adding them to the "middle" type layer.

Side-note: If anyone thinks this should be a compiler MCP, I'd be happy to move this over there. If this is better suited for a T-lang initiative, or needs a pre-RFC, then let me know.

Mentors or Reviewers

I've got a branch that mostly implements support for this. I'd probably start over from scratch since I'd want to audit all the places I added todo!()s for these predicates though. I don't want to put up a PR for it unless the team is interested in supporting this in the trait system, though.

Process

The main points of the Major Change Process are as follows:

You can read more about Major Change Proposals on forge.

Comments

This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.

rustbot commented 1 year ago

This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.

cc @rust-lang/types

jackh726 commented 1 year ago

@rustbot second

As stated on zulip, I don't think this really needs an MCP, since it aligns with our "vision" of the future type system in a-mir-formality.

But, for process, seconding.

jackh726 commented 9 months ago

Closing as accepted.