Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

identify traits in libstd that should use multidispatch #17827

Closed
pnkfelix opened this issue Oct 6, 2014 · 3 comments
Closed

identify traits in libstd that should use multidispatch #17827

pnkfelix opened this issue Oct 6, 2014 · 3 comments
Assignees

Comments

@pnkfelix
Copy link
Member

pnkfelix commented Oct 6, 2014

as a subtask of #17307, once the multi-dispatch part of associated types is implemented, we will want to update libstd to use it.

My google doc from #17826 includes a column for multidispatch; I copied the link again below.

Unsurprisingly, the vast majority of the cases I identified were in the core::ops numeric traits, though there may also be candidates in librand and maybe core::iter.

https://docs.google.com/spreadsheets/d/1Y_NAgzEK3FWcG0LjcykyKJEAibSFI3w-v-ekZ4GU8n4/edit?usp=sharing

@aturon aturon self-assigned this Oct 6, 2014
@aturon aturon added the A-libs label Oct 6, 2014
@pnkfelix
Copy link
Member Author

pnkfelix commented Oct 7, 2014

This is blocked by #1669, of course. (Assuming that PR actually lands, which might be more difficult given githubs new rules about merging a PR after a force-push.)

@pnkfelix
Copy link
Member Author

pnkfelix commented Oct 7, 2014

Nominating.

On reflection, I believe part of the idea of RFC 59 is that we can safely switch from our current semantics to a multi-dispatch on input type parameters semantics in a backwards compatible fashion (since I think any code that worked before will continue to work under the new semantics ...)

... except perhaps there may be type inference issues? I am not sure about whether there are such issues, and even if they are, I am not sure whether we let type inference issues of this sort be backward compatibility blockers.

So I'm going to take a stab in the dark and nominate for P-high, not 1.0.

(N.B. It is the traits with type params that should be output associated types that are a backwards compatibility hazard; see #17826.)

@pnkfelix
Copy link
Member Author

pnkfelix commented Oct 9, 2014

good argument was made that this is actually just a dupe of #17826 , since the categorization process will put everybody into one of two buckets.

@pnkfelix pnkfelix closed this as completed Oct 9, 2014
lnicola pushed a commit to lnicola/rust that referenced this issue Aug 13, 2024
…ntinuation, r=lnicola

Improve crate manifest of 'syntax-bridge', adding missing `[package.repository]` and `[package.description]` fields

This is a follow-up of rust-lang/rust-analyzer#17745, specifically [this comment](rust-lang/rust-analyzer#17745 (comment)) by `@lnicola.`

It refines the manifest of the newly added 'syntax-bridge' crate, adding a `[package.repository]` as `workspace = true` and changes the existing `[package.description]` from "TBD" to a more useful description.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants