view gcc/testsuite/g++.dg/cpp2a/concepts-pr67225-1.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
line wrap: on
line source

// PR c++/67225
// { dg-do compile { target c++2a } }
// { dg-additional-options "-fconcepts-ts" }

template <class T, class U> 
concept bool Same() 
{
    return true;
}

template <class T> struct WrapT {T t;};

template <class T>
concept bool Destructible()
{
    return requires(T t, const T ct, WrapT<T>& wt) // { dg-message "in requirements" }
    {
        {wt.~WrapT()} noexcept;
        // {&t} -> Same<T*>; // #1
        //{&t} -> T*; // #2
    };
}

template <Destructible T>
void f() {}

struct Y {private: ~Y();};

int main()
{
    f<Y>(); // { dg-error "" }
}