This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/80767] Eager instantiation of generic lambda body when not required


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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2017-08-28
                 CC|                            |jason at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #2 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to TC from comment #1)
> This is another manifestation of bug 71117.

It looks similar, but is actually a different bug.  In this case, we are
building a surrogate call function for the conversion operator of the
non-generic lambda (which CallFoo doesn't have).

The bug is that in generating the candidate for the surrogate call function, we
consider how overloader would convert to that target type, which means we
consider the conversion template of the generic lambda.

The standard seems to say that we shouldn't try to figure out that conversion
unless the surrogate call function is actually chosen by overload resolution.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]