Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

5 months ago

Language

C++

Compiler

gcc 13.2.0

Options
Warnings
Boost 1.83.0
C++2b(GNU)
no pedantic
Raw compiler options
-fconcepts-diagnostics-depth=3

Author

anonymous

5 months ago

$ g++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.83.0-gcc-13.2.0/include -std=gnu++2b -fconcepts-diagnostics-depth=3
prog.cc:36:18: error: template constraint failure for 'template<class T>  requires  HasHoge<T> class Member'
   36 |     Member<Holder> member;
      |                  ^
prog.cc:36:18: note: constraints not satisfied
prog.cc: In substitution of 'template<class T>  requires  HasHoge<T> class Member [with T = Holder]':
prog.cc:36:18:   required from here
prog.cc:3:9:   required for the satisfaction of 'HasHoge<T>' [with T = Holder]
prog.cc:3:19:   in requirements with 'T t', 'int a', 'int b' [with T = Holder]
prog.cc:4:12: note: the required expression 't.Hoge(a, b)' is invalid, because
    4 |     {t.Hoge(a, b)} -> std::convertible_to<int>;
      |      ~~~~~~^~~~~~
prog.cc:3:30: error: 't' has incomplete type
    3 | concept HasHoge = requires(T t, int a, int b) {
      |                            ~~^
prog.cc:25:7: note: forward declaration of 'class Holder'
   25 | class Holder
      |       ^~~~~~
prog.cc: In constructor 'Holder::Holder()':
prog.cc:29:16: error: request for member 'set' in '((Holder*)this)->Holder::member', which is of non-class type 'int'
   29 |         member.set(this);
      |                ^~~
prog.cc: In member function 'int Holder::Hoge(int, int)':
prog.cc:32:18: warning: unused parameter 'a' [-Wunused-parameter]
   32 |     int Hoge(int a, int b) {
      |              ~~~~^
prog.cc:32:25: warning: unused parameter 'b' [-Wunused-parameter]
   32 |     int Hoge(int a, int b) {
      |                     ~~~~^
Exit Code:
1