Skip to content

Conversation

JohelEGP
Copy link
Contributor

Resolves #900.

In the original overload, ((t < T{}) != (u < U{})) is only ever reached when is_different_signedness is true, which is only ever true for arithmetic types because the same applies to std::is_signed<T>::value which is_different_signedness is initialized from. So we use std::is_arithmetic<T>::value to add an overload.

@hsutter
Copy link
Contributor

hsutter commented Nov 11, 2020

Maintainers' call: Thanks for the feature suggestion. Because the GSL design and feature set is owned by the C++ Core Guidelines, this is just an implementation and we follow what the Guidelines specify. So we defer all feature suggestions by opening the issue in the Guidelines repo, and in the meantime we'll close the one here which can then be reopened later when there is guidance to follow from the Guidelines' making a design/feature change. Please reactivate this one when there's a conclusion.

@hsutter hsutter closed this Nov 11, 2020
@JohelEGP
Copy link
Contributor Author

Please reactivate this one when there's a conclusion.

Here's the conclusion: isocpp/CppCoreGuidelines#1726 (comment).

Can this PR be reactivated? It's not clear to me whether this PR makes narrow more aligned with the updated C++ Core Guidelines' intent.

@JordanMaples
Copy link
Contributor

Yes, please reactivate this. Unfortunately, you'll need to rebase your changes and post a new PR. When we migrated the primary branch from master to main, we lost the ability to reopen PRs made against master. Sorry for the inconvenience.

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.

feat: narrow for non totally ordered types
3 participants