Closed ericniebler closed 3 months ago
Comment by ericniebler Sunday Jan 16, 2022 at 23:36 GMT
Thank you! Regarding tag_invoke
, I've found that the diagnostics are very bad unless its implementation matches that in P2300. So it borders on overspecialization simply because it's so easy to do it poorly.
Comment by dietmarkuehl Sunday Jan 16, 2022 at 23:40 GMT
I have created PR 399 to address the issues mentioned here.
Regarding Eric's comment on recommending an exact implementation: if an exact implementation should be suggested, I think it would best become a Note, e.g., to allow implementations to deviate if they have a better implementation like explicit compiler support. My PR 399 currently doesn't reflect the Note but can update it accordingly if you think that's the way to go.
Comment by villevoutilainen Sunday Jan 16, 2022 at 23:43 GMT
Regarding Eric's comment on recommending an exact implementation: if an exact implementation should be suggested, I think it would best become a Note, e.g., to allow implementations to deviate if they have a better implementation like explicit compiler support.
Implementations are always allowed to "deviate" based on the as-if rule.
Comment by dietmarkuehl Sunday Jan 16, 2022 at 23:51 GMT
I don't think this section will stay as is. At the very least, a note should be added to motivate why the exact implementation is given. ...and if the exact implementation is given, the casts need to go or it needs to be explicitly mentioned that this formulation is needed as well.
I have already mentioned that I'm not as confident about this particular change than about the others. My objective of this exercise is to streamline the LWG processing of this paper: unless it is of much better quality than nearly all papers we receive we will not manage to get through it for the C++23 time-frame.
I'm pretty sure all of these points have either been addressed or are no longer relevant after 2+ years of LWG review. Closing.
Issue by dietmarkuehl Sunday Jan 16, 2022 at 23:31 GMT Originally opened as https://github.com/NVIDIA/stdexec/issues/398
There are a number of issue with Section 8:
Fn
vs.Tag
.<
isn't HTML escaped and the explicit argument list is swallowed when formatted.std::forward
are plain missing.call-result-t
is a list of objects rather than a call expression.auto(tag)
) or should usestd::forward
. However, see next item.tag_invoke
) is too verbose. I think it can be expressed in terms of [customization.point.object] (whose reference is missing) and [defns.expression-equivalent] as is done for other customization point objects.I'm fairly certain about all but the last part. For the last part it may be reasonable to get an opinion from other LWG members. I will add a PR shortly.