[Bug c++/57575] New: lvalue function accepted as an rvalue

anass.lasram at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Jun 10 00:41:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57575

            Bug ID: 57575
           Summary: lvalue function accepted as an rvalue
           Product: gcc
           Version: 4.8.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: anass.lasram at gmail dot com

// the following code compiles but it should not

float f() { return 0.f; }

template<typename F>
void take_f(F&& f) {}

int main()
{
    // this is OK. reference collapsing 
    take_f(f);

    // next line compiles but it should not: f is not an rvalue !
    take_f<float(void)>(f);

    return 0;
}



More information about the Gcc-bugs mailing list