Issue 137862
Summary No move elision in construction from nested brace-enclosed initializer list
Labels new issue
Assignees
Reporter Fedr
    This program
```c++
struct B {
    int i, j;
};

struct A {
    A(A&&) = delete;
    A(const B &) {}
};

A a( { { 1, 2 } } );
```
is accepted by GCC and EDG. But Clang complains:
```
<source>:10:3: error: call to deleted constructor of 'A'
 10 | A a( { { 1, 2 } } );
      |   ^  ~~~~~~~~~~~~
<source>:6:5: note: 'A' has been explicitly marked deleted here
    6 |     A(A&&) = delete;
 |     ^
```
Online demo: https://gcc.godbolt.org/z/eT9M59acx
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to