Issue 145521
Summary nested class with out-of-class-definition and requires clause fails to compile
Labels new issue
Assignees
Reporter bernd5
    The following code fails to compile:

```c++
template <typename X>
concept is_valid = true;

template<typename T>
class Nesting
{
public:
 template<typename Q> requires is_valid<Q>
    class Inner;
};

template<typename T>
template<typename Q> requires is_valid<Q>
class Nesting<T>::Inner {};
```

with the error message:

```
<source>:13:31: error: requires clause differs in template redeclaration
   13 | template<typename Q> requires is_valid<Q>
      | ^
<source>:8:35: note: previous template declaration is here
    8 |     template<typename Q> requires is_valid<Q>
 |                                   ^
1 error generated.
Compiler returned: 1
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to