// { dg-additional-options " -O1 " }
#include <coroutine>
struct coroutine {
    struct promise_type {
        coroutine get_return_object() { return {}; }
        void return_void() {}
        void unhandled_exception() {}
        auto initial_suspend() noexcept { return std::suspend_never{}; }
        auto final_suspend() noexcept { return std::suspend_never{}; }
    };
};
struct data {
    constexpr int get() { return 5; }
};
struct test {
    data _data;
    void foo() {
        [this]() -> coroutine {
            _data.get();
            co_return;
        };
    }
};
int main() {}