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

[concepts] requires clause short-circuiting not working #46852

Closed
llvmbot opened this issue Sep 13, 2020 · 2 comments
Closed

[concepts] requires clause short-circuiting not working #46852

llvmbot opened this issue Sep 13, 2020 · 2 comments
Labels
bugzilla Issues migrated from bugzilla c++20 duplicate Resolved as duplicate

Comments

@llvmbot
Copy link
Collaborator

llvmbot commented Sep 13, 2020

Bugzilla Link 47508
Resolution DUPLICATE
Resolved on Oct 08, 2021 12:55
Version trunk
OS All
Reporter LLVM Bugzilla Contributor
CC @erichkeane,@zygoloid

Extended Description

// works
//template requires true || T::value
//void foo(T)
//{}

// substitution failure for T::value
template
void foo(T) requires true || T::value
{}

// substitution failure, type 'int' cannot be used prior to '::',
// though gcc accepts this.
template
struct B{
template requires true || T::value
static void foo(U)
{}
};

int main()
{
foo(0);
B::foo(0);
}

@zygoloid
Copy link
Mannequin

zygoloid mannequin commented Oct 11, 2020

*** This bug has been marked as a duplicate of bug #44178 ***

@erichkeane
Copy link
Collaborator

I have a patch for the 1st issue up here (https://reviews.llvm.org/D111453) though it is in need of a smarter concepts person than me to inspect.

The 2nd half (instantiation of static function requirements) is likely something different.

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 10, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla c++20 duplicate Resolved as duplicate
Projects
None yet
Development

No branches or pull requests

2 participants