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

            Bug ID: 121553
           Summary: [16 regression] Dolphin fails to build (error:
                    declaration of ‘auto job’ shadows a parameter)
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sjames at gcc dot gnu.org
  Target Milestone: ---

Dolphin fails to build with some recent trunk changes:
```
/var/tmp/portage/kde-apps/dolphin-25.08.49.9999/work/dolphin-25.08.49.9999/src/dolphinmainwindow.cpp:
In lambda function:
/var/tmp/portage/kde-apps/dolphin-25.08.49.9999/work/dolphin-25.08.49.9999/src/dolphinmainwindow.cpp:1409:18:
error: declaration of ‘auto job’ shadows a parameter
 1409 |             auto job = new KTerminalLauncherJob(QString());
      |                  ^~~
/var/tmp/portage/kde-apps/dolphin-25.08.49.9999/work/dolphin-25.08.49.9999/src/dolphinmainwindow.cpp:1403:49:
note: ‘KIO::StatJob* const job’ previously declared here
 1403 |         connect(job, &KJob::result, this, [job]() {
      |                                                 ^
```

With some help from amonakov and reference to
https://github.com/cplusplus/draft/issues/6536, it looks like this is accepted
by Clang but rejected by GCC:
```
void foo () {
  int i;
  auto f = [i] () { int i; return 0; };
}
```

I guess it's r16-3195-gd2dccd1bf79b86?

Reply via email to