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

P1830 std::dependent_false #572

Closed
brycelelbach opened this issue Jul 18, 2019 · 11 comments
Closed

P1830 std::dependent_false #572

brycelelbach opened this issue Jul 18, 2019 · 11 comments
Labels
B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 IS Ship vehicle: IS LEWG Library Evolution needs-revision Paper needs changes before it can proceed

Comments

@brycelelbach
Copy link

P1830R0 std::dependent_false (Ruslan Arutyunyan)

@brycelelbach brycelelbach changed the title P1830R0 std::dependent_false P1830 std::dependent_false Jul 18, 2019
@brycelelbach
Copy link
Author

brycelelbach commented Jul 18, 2019

Cologne 2019-07 LEWGI Minutes

P1830R0 std::dependent_false: Direction Review

Champion: Ruslan Arutyunyan

Minute Taker: Jayesh Badwaik

Start Overview: 07-18 13:36

Start Polling: 13:55

POLL: We should promise more committee time to pursuing this proposal, knowing that our time is scarce and this will leave less time for other work.

Strongly For Weakly For Neutral Weakly Against Strongly Against
4 5 2 1 0

Attendance: 18

// 0
template <typename Dep>
inline constexpr dependent_false = false;

// 1
template <typename... Deps>
inline constexpr dependent_false = false;

// 2
template <bool B, typename... Deps>
inline constexpr dependent_bool_value = B;

// 3
template <typename T, T t, typename... Deps>
inline constexpr dependent_value = false;

// 4
template <typename T, T t, typename... Deps>
struct dependent_constant : std::integral_constant<T, t> {};
// Plus template aliases and variable aliases.
// 0
template <typename Dep>
inline constexpr bool dependent_false = false;

// 1
template <typename... Deps>
inline constexpr bool dependent_false = false;

POLL: Which do you prefer?

Option Votes
# 0 3
# 1 7

Attendance: 18

Option 1 has consensus.

// 1
template <typename... Deps>
inline constexpr bool dependent_false = false;

// 2
template <bool B, typename... Deps>
inline constexpr bool dependent_bool_value = B;

// 3
template <auto V, typename... Deps>
inline constexpr auto dependent_value = V;

POLL: Which do you prefer?

Option Votes
# 1 6
# 2 5
# 3 1

End: 14:05

Author's choice between either 1 or 2.

CONSENSUS: Bring a revision of P1830R0, pursuing one of the two design options below, to LEWGI for further design review.

template <typename... Deps>
inline constexpr bool dependent_false = false;

// Or

template <bool B, typename... Deps>
inline constexpr bool dependent_bool_value = B;

@brycelelbach brycelelbach added LEWGI Library Evolution Incubator needs-revision Paper needs changes before it can proceed labels Jul 18, 2019
@wg21bot
Copy link
Collaborator

wg21bot commented Oct 15, 2019

P1830R1 std::dependent_false (Ruslan Arutyunyan)

@wg21bot wg21bot added this to the 2019-11 milestone Oct 15, 2019
@jensmaurer jensmaurer removed the needs-revision Paper needs changes before it can proceed label Oct 20, 2019
@sempuki
Copy link
Collaborator

sempuki commented Nov 6, 2019

Belfast 2019-11 LEWGI Minutes

P1830R1 std::dependent_false: Design Review

Chair: Ryan McDougall

Champion: Ruslan Arutyunyan

Minute Taker: CJ Johnson

Start Review: 6 10:30

Start Polling: 11:10

POLL: We believe there is a library solution that will sufficiently (ease of use, failure prone) solve the problems described in P1830.

Strongly For Weakly For Neutral Weakly Against Strongly Against
1 3 2 2 1

NO CONSENSUS

Attendance: 17

SF: unlikely to get a language solution

POLL: We are willing to live with the solution presented in P1830R1 if no better library solution can be found.

Strongly For Weakly For Neutral Weakly Against Strongly Against
2 5 5 0 0

CONSENSUS

Attendance: 17

End: 11:24

We need more information.

@brycelelbach brycelelbach added the needs-revision Paper needs changes before it can proceed label Nov 7, 2019
@brycelelbach
Copy link
Author

Belfast 2019-11 LEWGI Minutes

P1830R0 std::dependent_false: Direction Review

Chair: Ryan McDougall

Champion: Corentin Jabot

Minute Taker: CJ Johnson

Start: 11-06 10:37

End: 11:23

CONSENSUS: Bring a revision of P1882R0 (std::dependent_false), with the guidance below, to LEWGI for further direction review.

  • Explore a consteval function that always returns false as a possible approach.

@jensmaurer jensmaurer removed this from the 2019-11 milestone Dec 12, 2019
@brycelelbach brycelelbach added LEWG Library Evolution EWGI Evolution Incubator B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 IS Ship vehicle: IS and removed LEWGI Library Evolution Incubator labels Aug 25, 2020
@mserdarsanli
Copy link

Last link points to a different paper

@jensmaurer
Copy link
Member

@brycelelbach , there is some confusion with your latest comment here (from Nov 2019), confusing P1830 with P1882. (Also, we had direction review for P1830R0 in Cologne, so why do we have it again in Belfast?)

@cor3ntin
Copy link

cor3ntin commented Apr 8, 2021

@jensmaurer To add to the confusion, I remember championing P1882 (poorly) but not P1830

@dfrib
Copy link

dfrib commented Jun 1, 2022

P2593R0 (#1251) explores a new language solution to this problem.

@jfbastien jfbastien removed EWG Evolution EWGI Evolution Incubator labels Jun 4, 2023
@jfbastien
Copy link
Collaborator

@brycelelbach please assign to EWG once ready.

@jensmaurer
Copy link
Member

jensmaurer commented Jun 4, 2023

P2593 was CWG-approved in Issaquah and is on track to be plenary-approved for C++26 in Varna. With that development, I think the motivation for P1830 has evaporated.

@cor3ntin
Copy link

cor3ntin commented Jun 4, 2023

@jensmaurer agreed, I'm tentatively closing this, the author can contact me or Bryce if they think this paper is still motivated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 IS Ship vehicle: IS LEWG Library Evolution needs-revision Paper needs changes before it can proceed
Projects
None yet
Development

No branches or pull requests

8 participants