This is an archive of the discontinued LLVM Phabricator instance.

std::invoke should use std::is_nothrow_callable (2807)
ClosedPublic

Authored by ldionne on Feb 11 2019, 9:11 PM.

Diff Detail

Event Timeline

zoecarver created this revision.Feb 11 2019, 9:11 PM
ldionne requested changes to this revision.Feb 28 2019, 5:23 PM

Also, please update the signature of invoke at the top of test/std/utilities/function.objects/func.invoke/invoke.pass.cpp.

include/functional
14

Please add this to the synopsis (right now std::invoke is not mentioned):

template<class F, class... Args>
invoke_result_t<F, Args...> invoke(F&& f, Args&&... args) // C++17
    noexcept(is_nothrow_invocable_v<_Fn, _Args...>);
This revision now requires changes to proceed.Feb 28 2019, 5:23 PM
zoecarver updated this revision to Diff 188837.Feb 28 2019, 6:41 PM

Add synopsis comment.

zoecarver updated this revision to Diff 193433.Apr 2 2019, 10:05 PM

Sorry for the delay, forgot about this one.

ldionne commandeered this revision.Apr 3 2019, 10:47 AM
ldionne edited reviewers, added: zoecarver; removed: ldionne.

Looks good with a few nitpicks.

Herald added a project: Restricted Project. · View Herald TranscriptApr 3 2019, 10:47 AM
Herald added a subscriber: christof. · View Herald Transcript
This revision was not accepted when it landed; it landed in state Needs Review.Apr 3 2019, 10:54 AM
This revision was automatically updated to reflect the committed changes.