https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121500

            Bug ID: 121500
           Summary: lambda with deducing this argument by value produces
                    wrong result
           Product: gcc
           Version: 15.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: fchelnokov at gmail dot com
  Target Milestone: ---

This C++23 program
```
#include <vector>

int main() {
   auto l = [data = std::vector{0}](this auto) {
     return data[0];
   };
  return l(); // expected 0, but GCC returns arbitrary value
}
```
shall return 0 as it does in Clang and MSVC. But in GCC the return value is not
zero, see https://gcc.godbolt.org/z/nrrsKTodK

This is a reduced example from https://stackoverflow.com/q/79730845/7325599

Reply via email to