| Issue |
174089
|
| Summary |
Clang accepts invalid program involving multiple inherited type members
|
| Labels |
clang
|
| Assignees |
|
| Reporter |
ranaanoop
|
The following invalid program is accepted by clang but rejected by gcc and others. [Demo](https://godbolt.org/z/qsco3fq5c)
```
template<class T> concept Concept = requires {typename T::marker;};
#define INJECT_MARKER using marker = int;
struct Base1{
INJECT_MARKER
};
struct Base2{
INJECT_MARKER
};
struct Derived: Base1, Base2{};
static_assert(Concept<Derived>);
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs