Relax ProtocolType requirement on ProtocolObject#516
Merged
Conversation
6d75180 to
076a745
Compare
These Sized bounds are already added by the extern_protocol! macro
076a745 to
e10f776
Compare
ProtocolObject with multiple protocolsProtocolType requirement on ProtocolObject
e10f776 to
bfa78fc
Compare
This allows us to do `ProtocolObject<dyn ProtocolA + ProtocolB>` in the future.
bfa78fc to
c5393db
Compare
c5393db to
2b57f62
Compare
2b57f62 to
1c663ba
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Relax the
ProtocolTyperequirement onProtocolObject, which means we can now have protocol objects with auto traits, such asProtocolObject<dyn NSObjectProtocol + Send>.Protocols objects with multiple protocols are not yet possible.
Construction of these is still difficult, we'd have to somehow do
impl ImplementedBy<T: Any + Combination + Of + Traits> for dyn Any + Combination + Of + Traits. But I suspect construction of these will be exceedingly rare anyhow, and at least it's better that you can use them, ificrateconstructs them for you.TODO: