(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
coroutines/
pr98480.C
#include <coroutine>

struct future {
  struct promise_type {
    void return_value(int) {}
    auto initial_suspend() { return std::suspend_never{}; }
    auto final_suspend() noexcept { return std::suspend_never{}; }
    void unhandled_exception() {}
    future get_return_object() { return {}; }
  };
  bool await_ready() { return true; }
  void await_suspend(std::coroutine_handle<>) {}
  int await_resume() { return 0; }
};

future co_foo() {
  for( int i = 0; i < co_await future{}; ++i );
  // ICE -------------^
  co_return 0;
}