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.
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
:!
generic syntax #676:!
generic syntax #676Changes from 7 commits
349c33c
2a28384
4190064
cf485cb
1911fc5
bbd921e
90f1029
cb4aea8
5d2dce1
8463eb1
d1d3af9
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe I'm the only one confused by this, but aren't you using square brackets for the proposal?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Square brackets are only used to indicate "deduced" in the proposal. Generics are indicated using
:!
. A generic parameter can be in the deduced list or in the regular(...)
explicit parameter list. For now, the only example we have of non-generic deduced parameters isme: Self
, but eventually we will probably have more.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But what was this alternative? Can you give an example of what was considered?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@chandlerc Can you recall what was actually considered? I could potentially just delete this little bit if it doesn't match what you actually discussed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I think I found the example in the discussion notes, I'll add it to the doc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wrote down the example, but it may have fallen under "We never really broke out of the idea that
[
...]
were for deduced parameters" and wasn't actually considered. Perhaps I should include something in the "alternatives not considered" about figuring out which parameters are deduced the same way C++ does?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The example matches my memory -- this was exactly parallel to
<>
s and didn't try to get to a consistent story. I think what you have here is right, and the "not considered" thing at the bottom already captures well the space we didn't spend time exploring.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@zygoloid Could you remind me of your other concern about this option?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The other concern was that we might want to put generic / template parameters in the
(
...)
list. Motivation for this can be found here: http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1045r1.htmlThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added.