$ clang --version
clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
$ git checkout c9a4a50feeec0b6332ebc908344bfac40d709f9f
$ rm -r _build && bash ./src/scripts/ubuntu/build.sh
<successful build>
$ git checkout dd695e61ef2025cd0d2fafc2049f44d0460dc77a
$ rm -r _build && bash ./src/scripts/ubuntu/build.sh
[19/26] Building CXX object tool/cpp/CMakeFiles/cpp.dir/main.cpp.o
FAILED: tool/cpp/CMakeFiles/cpp.dir/main.cpp.o
/usr/bin/clang -I/home/marco/tmp/xlang/src/library -Itool/cpp -I/home/marco/tmp/xlang/src/tool/cpp -g -D_DEBUG -stdlib=libc++ -std=gnu++1z -MD -MT tool/cpp/CMakeFiles/cpp.dir/main.cpp.o -MF tool/cpp/CMakeFiles/cpp.dir/main.cpp.o.d -o tool/cpp/CMakeFiles/cpp.dir/main.cpp.o -c /home/marco/tmp/xlang/src/tool/cpp/main.cpp
In file included from /home/marco/tmp/xlang/src/tool/cpp/main.cpp:5:
/home/marco/tmp/xlang/src/tool/cpp/type_writers.h:437:13: error: call to 'visit' is ambiguous
visit(type,
^~~~~
/usr/include/c++/v1/variant:1513:26: note: candidate function [with _Visitor = const std::__1::variant<xlang::meta::reader::ElementType, xlang::meta::reader::coded_index<xlang::meta::reader::TypeDefOrRef>, xlang::meta::reader::GenericTypeIndex, xlang::meta::reader::GenericTypeInstSig> &, _Vs = <(lambda at /home/marco/tmp/xlang/src/tool/cpp/type_writers.h:438:17), (lambda at /home/marco/tmp/xlang/src/tool/cpp/type_writers.h:483:17), (lambda at /home/marco/tmp/xlang/src/tool/cpp/type_writers.h:487:17)>]
constexpr decltype(auto) visit(_Visitor&& __visitor, _Vs&&... __vs) {
^
/home/marco/tmp/xlang/src/library/impl/base.h:75:10: note: candidate function [with V = const std::__1::variant<xlang::meta::reader::ElementType, xlang::meta::reader::coded_index<xlang::meta::reader::TypeDefOrRef>, xlang::meta::reader::GenericTypeIndex, xlang::meta::reader::GenericTypeInstSig> &, C = <(lambda at /home/marco/tmp/xlang/src/tool/cpp/type_writers.h:438:17), (lambda at /home/marco/tmp/xlang/src/tool/cpp/type_writers.h:483:17), (lambda at /home/marco/tmp/xlang/src/tool/cpp/type_writers.h:487:17)>]
void visit(V&& variant, C&&...call)
^
In file included from /home/marco/tmp/xlang/src/tool/cpp/main.cpp:6:
/home/marco/tmp/xlang/src/tool/cpp/helpers.h:195:9: error: call to 'visit' is ambiguous
visit(method_signature.return_signature().Type().Type(),
^~~~~
/usr/include/c++/v1/variant:1513:26: note: candidate function [with _Visitor = const std::__1::variant<xlang::meta::reader::ElementType, xlang::meta::reader::coded_index<xlang::meta::reader::TypeDefOrRef>, xlang::meta::reader::GenericTypeIndex, xlang::meta::reader::GenericTypeInstSig> &, _Vs = <(lambda at /home/marco/tmp/xlang/src/tool/cpp/helpers.h:196:13), (lambda at /home/marco/tmp/xlang/src/tool/cpp/helpers.h:211:13)>]
constexpr decltype(auto) visit(_Visitor&& __visitor, _Vs&&... __vs) {
^
/home/marco/tmp/xlang/src/library/impl/base.h:75:10: note: candidate function [with V = const std::__1::variant<xlang::meta::reader::ElementType, xlang::meta::reader::coded_index<xlang::meta::reader::TypeDefOrRef>, xlang::meta::reader::GenericTypeIndex, xlang::meta::reader::GenericTypeInstSig> &, C = <(lambda at /home/marco/tmp/xlang/src/tool/cpp/helpers.h:196:13), (lambda at /home/marco/tmp/xlang/src/tool/cpp/helpers.h:211:13)>]
void visit(V&& variant, C&&...call)
^
In file included from /home/marco/tmp/xlang/src/tool/cpp/main.cpp:6:
/home/marco/tmp/xlang/src/tool/cpp/helpers.h:462:9: error: call to 'visit' is ambiguous
visit(signature.Type(),
^~~~~
/usr/include/c++/v1/variant:1513:26: note: candidate function [with _Visitor = const std::__1::variant<xlang::meta::reader::ElementType, xlang::meta::reader::coded_index<xlang::meta::reader::TypeDefOrRef>, xlang::meta::reader::GenericTypeIndex, xlang::meta::reader::GenericTypeInstSig> &, _Vs = <(lambda at /home/marco/tmp/xlang/src/tool/cpp/helpers.h:463:13), (lambda at /home/marco/tmp/xlang/src/tool/cpp/helpers.h:467:13)>]
constexpr decltype(auto) visit(_Visitor&& __visitor, _Vs&&... __vs) {
^
/home/marco/tmp/xlang/src/library/impl/base.h:75:10: note: candidate function [with V = const std::__1::variant<xlang::meta::reader::ElementType, xlang::meta::reader::coded_index<xlang::meta::reader::TypeDefOrRef>, xlang::meta::reader::GenericTypeIndex, xlang::meta::reader::GenericTypeInstSig> &, C = <(lambda at /home/marco/tmp/xlang/src/tool/cpp/helpers.h:463:13), (lambda at /home/marco/tmp/xlang/src/tool/cpp/helpers.h:467:13)>]
void visit(V&& variant, C&&...call)
^
In file included from /home/marco/tmp/xlang/src/tool/cpp/main.cpp:6:
/home/marco/tmp/xlang/src/tool/cpp/helpers.h:479:9: error: call to 'visit' is ambiguous
visit(signature.Type(),
^~~~~
/usr/include/c++/v1/variant:1513:26: note: candidate function [with _Visitor = const std::__1::variant<xlang::meta::reader::ElementType, xlang::meta::reader::coded_index<xlang::meta::reader::TypeDefOrRef>, xlang::meta::reader::GenericTypeIndex, xlang::meta::reader::GenericTypeInstSig> &, _Vs = <(lambda at /home/marco/tmp/xlang/src/tool/cpp/helpers.h:480:13), (lambda at /home/marco/tmp/xlang/src/tool/cpp/helpers.h:487:13)>]
constexpr decltype(auto) visit(_Visitor&& __visitor, _Vs&&... __vs) {
^
/home/marco/tmp/xlang/src/library/impl/base.h:75:10: note: candidate function [with V = const std::__1::variant<xlang::meta::reader::ElementType, xlang::meta::reader::coded_index<xlang::meta::reader::TypeDefOrRef>, xlang::meta::reader::GenericTypeIndex, xlang::meta::reader::GenericTypeInstSig> &, C = <(lambda at /home/marco/tmp/xlang/src/tool/cpp/helpers.h:480:13), (lambda at /home/marco/tmp/xlang/src/tool/cpp/helpers.h:487:13)>]
void visit(V&& variant, C&&...call)
^
In file included from /home/marco/tmp/xlang/src/tool/cpp/main.cpp:7:
/home/marco/tmp/xlang/src/tool/cpp/code_writers.h:958:9: error: call to 'visit' is ambiguous
visit(signature.Type(),
^~~~~
/usr/include/c++/v1/variant:1513:26: note: candidate function [with _Visitor = const std::__1::variant<xlang::meta::reader::ElementType, xlang::meta::reader::coded_index<xlang::meta::reader::TypeDefOrRef>, xlang::meta::reader::GenericTypeIndex, xlang::meta::reader::GenericTypeInstSig> &, _Vs = <(lambda at /home/marco/tmp/xlang/src/tool/cpp/code_writers.h:959:13), (lambda at /home/marco/tmp/xlang/src/tool/cpp/code_writers.h:970:13), (lambda at /home/marco/tmp/xlang/src/tool/cpp/code_writers.h:992:13), (lambda at /home/marco/tmp/xlang/src/tool/cpp/code_writers.h:996:13)>]
constexpr decltype(auto) visit(_Visitor&& __visitor, _Vs&&... __vs) {
^
/home/marco/tmp/xlang/src/library/impl/base.h:75:10: note: candidate function [with V = const std::__1::variant<xlang::meta::reader::ElementType, xlang::meta::reader::coded_index<xlang::meta::reader::TypeDefOrRef>, xlang::meta::reader::GenericTypeIndex, xlang::meta::reader::GenericTypeInstSig> &, C = <(lambda at /home/marco/tmp/xlang/src/tool/cpp/code_writers.h:959:13), (lambda at /home/marco/tmp/xlang/src/tool/cpp/code_writers.h:970:13), (lambda at /home/marco/tmp/xlang/src/tool/cpp/code_writers.h:992:13), (lambda at /home/marco/tmp/xlang/src/tool/cpp/code_writers.h:996:13)>]
void visit(V&& variant, C&&...call)
^
5 errors generated.