view gcc/testsuite/g++.dg/template/pr83988.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
line wrap: on
line source

// PR 83988 ICE

template<class T> struct optional {};
struct get_from_json {
  template<typename GetWhat>
  operator optional<GetWhat>() const {return optional<GetWhat> ();}
  template<typename AsWhat>
  optional<AsWhat> maybe() const
  {
    return this->operator optional<AsWhat>();
  }
};
void test()
{
  get_from_json().maybe<int>();
}