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

[range.filter.iterator] Add noexcept to base() functions #4902

Closed
wants to merge 1 commit into from
Closed

[range.filter.iterator] Add noexcept to base() functions #4902

wants to merge 1 commit into from

Conversation

hewillk
Copy link
Contributor

@hewillk hewillk commented Sep 13, 2021

I want to know if this is an editorial issue? If it is worthy of being an LWG, I think I will submit it for it since LWG3391 can also add noexcept.

I want to know if this is an editorial issue? If it is worthy of being an LWG, I think I will submit it for it since LWG3391 can also add noexcept.
@CaseyCarter
Copy link
Contributor

CaseyCarter commented Sep 13, 2021

I'm not an editor, but I play one on TV. I think this falls just short of editorial. Obviously the Editors can investigate the code and quickly determine that it's trivial to implement these functions in a way that cannot emit exceptions, but noexcept is effectively a declaration that WG21 will never change this function in a way that would require an implementation that might emit exceptions. That level of commitment to maintaining noexcept in the future is not something editors can decide trivially, but a question for the experts in LWG.

(That said I would personally appreciate such an LWG issue since I wouldn't have to find time to file it myself 😉)

@jensmaurer
Copy link
Member

LWG3533 did not endeavor to add or remove noexcept, so the issue is not related.

As @CaseyCarter explained, adding noexcept to a function that didn't have it before without showing a paper trail that clearly establishes editorial error is not an editorial issue. Please file an LWG issue if you feel a change is warranted in that area.

@jensmaurer jensmaurer changed the title [range.filter.iterator] Add noexcept for LWG3533 [range.filter.iterator] Add noexcept to base() functions Sep 13, 2021
@jensmaurer jensmaurer closed this Sep 13, 2021
@hewillk
Copy link
Contributor Author

hewillk commented Sep 14, 2021

but noexcept is effectively a declaration that WG21 will never change this function in a way that would require an implementation that might emit exceptions.

@CaseyCarter. Do you mean that even for lazy_split_view​::​outer-iterator​::​value_type::end() which only returns default_sentinel, adding a noexcept for it is still worth an LWG issue?

I tried to combine this end() with the above base() const &s into a single LWG, but it seems more worthy of being independent.

@CaseyCarter
Copy link
Contributor

@CaseyCarter. Do you mean that even for lazy_split_view​::​outer-iterator​::​value_type::end() which only returns default_sentinel, adding a noexcept for it is still worth an LWG issue?

Yes - that's not an editorial change.

I tried to combine this end() with the above base() const &s into a single LWG, but it seems more worthy of being independent.

I'd file these as distinct issues: ideally you want an LWG issue to be as small and simple as possible so it's a no-brainer for folks to say "yes, this is an issue and the resolution is obviously correct." Doing so enables LWG to avoid lots of heavy process, making it more likely your resolution will be applied sooner rather than later.

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

Successfully merging this pull request may close these issues.

None yet

3 participants