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

--- Comment #1 from fimbul77 at gmail dot com ---
sorry, my code was wrond.

Following the code :
#include <tuple>
#include <cassert>

int main()
{
    static const auto factory = []() {
        int x = 0;

        return [=]() mutable {
            return std::forward_as_tuple(
                                   [&]() -> int { return x; }
                                   );
        };
    };

    auto f1 = factory();    
    assert(std::get<0>(f1())() == 0); // f1.x == 0
}

Reply via email to