Source: tl-expected
Version: 1.0.0~dfsg-2
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: [email protected]
Usertags: ftbfs-20220728 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> /usr/bin/c++  -I"/<<PKGBUILDDIR>>/test" -I"/<<PKGBUILDDIR>>/include" -g -O2 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
> -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++14 -MD -MT 
> CMakeFiles/tests.dir/tests/swap.cpp.o -MF 
> CMakeFiles/tests.dir/tests/swap.cpp.o.d -o 
> CMakeFiles/tests.dir/tests/swap.cpp.o -c "/<<PKGBUILDDIR>>/tests/swap.cpp"
> /<<PKGBUILDDIR>>/tests/bases.cpp: In member function 
> ‘____C_A_T_C_H____T_E_S_T____0()::T& 
> ____C_A_T_C_H____T_E_S_T____0()::T::operator=(const 
> ____C_A_T_C_H____T_E_S_T____0()::T&)’:
> /<<PKGBUILDDIR>>/tests/bases.cpp:42:37: warning: no return statement in 
> function returning non-void [-Wreturn-type]
>    42 |             T& operator=(const T&) {}
>       |                                     ^
>       |                                     return *this;
> /<<PKGBUILDDIR>>/tests/bases.cpp: In member function 
> ‘____C_A_T_C_H____T_E_S_T____0()::T& 
> ____C_A_T_C_H____T_E_S_T____0()::T::operator=(____C_A_T_C_H____T_E_S_T____0()::T&&)’:
> /<<PKGBUILDDIR>>/tests/bases.cpp:43:32: warning: no return statement in 
> function returning non-void [-Wreturn-type]
>    43 |             T& operator=(T&&) {};
>       |                                ^
>       |                                return *this;
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: error: ‘unique_ptr’ is not a member 
> of ‘std’
>    29 | auto doit() -> tl::expected<std::unique_ptr<b>, int> {
>       |                                  ^~~~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:3:1: note: ‘std::unique_ptr’ is defined in 
> header ‘<memory>’; did you forget to ‘#include <memory>’?
>     2 | #include <tl/expected.hpp>
>   +++ |+#include <memory>
>     3 | 
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: error: ‘unique_ptr’ is not a member 
> of ‘std’
>    29 | auto doit() -> tl::expected<std::unique_ptr<b>, int> {
>       |                                  ^~~~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: note: ‘std::unique_ptr’ is defined 
> in header ‘<memory>’; did you forget to ‘#include <memory>’?
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:46: error: wrong number of template 
> arguments (1, should be 2)
>    29 | auto doit() -> tl::expected<std::unique_ptr<b>, int> {
>       |                                              ^
> In file included from /<<PKGBUILDDIR>>/tests/issues.cpp:2:
> /<<PKGBUILDDIR>>/include/tl/expected.hpp:120:35: note: provided for 
> ‘template<class T, class E> class tl::expected’
>   120 | template <class T, class E> class expected;
>       |                                   ^~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: error: ‘unique_ptr’ is not a member 
> of ‘std’
>    29 | auto doit() -> tl::expected<std::unique_ptr<b>, int> {
>       |                                  ^~~~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: note: ‘std::unique_ptr’ is defined 
> in header ‘<memory>’; did you forget to ‘#include <memory>’?
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: error: ‘unique_ptr’ is not a member 
> of ‘std’
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: note: ‘std::unique_ptr’ is defined 
> in header ‘<memory>’; did you forget to ‘#include <memory>’?
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:46: error: wrong number of template 
> arguments (1, should be 2)
>    29 | auto doit() -> tl::expected<std::unique_ptr<b>, int> {
>       |                                              ^
> /<<PKGBUILDDIR>>/include/tl/expected.hpp:120:35: note: provided for 
> ‘template<class T, class E> class tl::expected’
>   120 | template <class T, class E> class expected;
>       |                                   ^~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: error: ‘unique_ptr’ is not a member 
> of ‘std’
>    29 | auto doit() -> tl::expected<std::unique_ptr<b>, int> {
>       |                                  ^~~~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: note: ‘std::unique_ptr’ is defined 
> in header ‘<memory>’; did you forget to ‘#include <memory>’?
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: error: ‘unique_ptr’ is not a member 
> of ‘std’
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: note: ‘std::unique_ptr’ is defined 
> in header ‘<memory>’; did you forget to ‘#include <memory>’?
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:46: error: wrong number of template 
> arguments (1, should be 2)
>    29 | auto doit() -> tl::expected<std::unique_ptr<b>, int> {
>       |                                              ^
> /<<PKGBUILDDIR>>/include/tl/expected.hpp:120:35: note: provided for 
> ‘template<class T, class E> class tl::expected’
>   120 | template <class T, class E> class expected;
>       |                                   ^~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: error: ‘unique_ptr’ is not a member 
> of ‘std’
>    29 | auto doit() -> tl::expected<std::unique_ptr<b>, int> {
>       |                                  ^~~~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: note: ‘std::unique_ptr’ is defined 
> in header ‘<memory>’; did you forget to ‘#include <memory>’?
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: error: ‘unique_ptr’ is not a member 
> of ‘std’
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: note: ‘std::unique_ptr’ is defined 
> in header ‘<memory>’; did you forget to ‘#include <memory>’?
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:46: error: wrong number of template 
> arguments (1, should be 2)
>    29 | auto doit() -> tl::expected<std::unique_ptr<b>, int> {
>       |                                              ^
> /<<PKGBUILDDIR>>/include/tl/expected.hpp:120:35: note: provided for 
> ‘template<class T, class E> class tl::expected’
>   120 | template <class T, class E> class expected;
>       |                                   ^~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: error: ‘unique_ptr’ is not a member 
> of ‘std’
>    29 | auto doit() -> tl::expected<std::unique_ptr<b>, int> {
>       |                                  ^~~~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: note: ‘std::unique_ptr’ is defined 
> in header ‘<memory>’; did you forget to ‘#include <memory>’?
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: error: ‘unique_ptr’ is not a member 
> of ‘std’
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:34: note: ‘std::unique_ptr’ is defined 
> in header ‘<memory>’; did you forget to ‘#include <memory>’?
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:46: error: wrong number of template 
> arguments (1, should be 2)
>    29 | auto doit() -> tl::expected<std::unique_ptr<b>, int> {
>       |                                              ^
> /<<PKGBUILDDIR>>/include/tl/expected.hpp:120:35: note: provided for 
> ‘template<class T, class E> class tl::expected’
>   120 | template <class T, class E> class expected;
>       |                                   ^~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:16: error: invalid use of template-name 
> ‘tl::expected’ without an argument list
>    29 | auto doit() -> tl::expected<std::unique_ptr<b>, int> {
>       |                ^~
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:16: note: class template argument 
> deduction is only available with ‘-std=c++17’ or ‘-std=gnu++17’
> /<<PKGBUILDDIR>>/include/tl/expected.hpp:120:35: note: ‘template<class T, 
> class E> class tl::expected’ declared here
>   120 | template <class T, class E> class expected;
>       |                                   ^~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:29:28: error: expected initializer before 
> ‘<’ token
>    29 | auto doit() -> tl::expected<std::unique_ptr<b>, int> {
>       |                            ^
> /<<PKGBUILDDIR>>/tests/issues.cpp: In function ‘void 
> ____C_A_T_C_H____T_E_S_T____4()’:
> /<<PKGBUILDDIR>>/tests/issues.cpp:34:23: error: ‘unique_ptr’ is not a member 
> of ‘std’
>    34 |     tl::expected<std::unique_ptr<a>, int> msg = doit();
>       |                       ^~~~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:34:23: note: ‘std::unique_ptr’ is defined 
> in header ‘<memory>’; did you forget to ‘#include <memory>’?
> /<<PKGBUILDDIR>>/tests/issues.cpp:34:23: error: ‘unique_ptr’ is not a member 
> of ‘std’
> /<<PKGBUILDDIR>>/tests/issues.cpp:34:23: note: ‘std::unique_ptr’ is defined 
> in header ‘<memory>’; did you forget to ‘#include <memory>’?
> /<<PKGBUILDDIR>>/tests/issues.cpp:34:35: error: wrong number of template 
> arguments (1, should be 2)
>    34 |     tl::expected<std::unique_ptr<a>, int> msg = doit();
>       |                                   ^
> /<<PKGBUILDDIR>>/include/tl/expected.hpp:120:35: note: provided for 
> ‘template<class T, class E> class tl::expected’
>   120 | template <class T, class E> class expected;
>       |                                   ^~~~~~~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:34:36: error: expected unqualified-id 
> before ‘,’ token
>    34 |     tl::expected<std::unique_ptr<a>, int> msg = doit();
>       |                                    ^
> /<<PKGBUILDDIR>>/tests/issues.cpp:34:38: error: expected unqualified-id 
> before ‘int’
>    34 |     tl::expected<std::unique_ptr<a>, int> msg = doit();
>       |                                      ^~~
> In file included from /<<PKGBUILDDIR>>/tests/issues.cpp:1:
> /<<PKGBUILDDIR>>/tests/issues.cpp:35:14: error: ‘msg’ was not declared in 
> this scope
>    35 |     REQUIRE(!msg.has_value());
>       |              ^~~
> /<<PKGBUILDDIR>>/tests/issues.cpp:35:14: error: ‘msg’ was not declared in 
> this scope
>    35 |     REQUIRE(!msg.has_value());
>       |              ^~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp: In function ‘void 
> ____C_A_T_C_H____T_E_S_T____6()’:
> /<<PKGBUILDDIR>>/tests/extensions.cpp:372:21: error: ‘unique_ptr’ in 
> namespace ‘std’ does not name a template type
>   372 |   using eptr = std::unique_ptr<int>;
>       |                     ^~~~~~~~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:3:1: note: ‘std::unique_ptr’ is defined 
> in header ‘<memory>’; did you forget to ‘#include <memory>’?
>     2 | #include <tl/expected.hpp>
>   +++ |+#include <memory>
>     3 | 
> /<<PKGBUILDDIR>>/tests/extensions.cpp:374:24: error: ‘eptr’ has not been 
> declared
>   374 |   auto succeedptr = [](eptr e) { return 
> tl::expected<int,eptr>(21*2);};
>       |                        ^~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp: In lambda function:
> /<<PKGBUILDDIR>>/tests/extensions.cpp:374:58: error: ‘eptr’ was not declared 
> in this scope
>   374 |   auto succeedptr = [](eptr e) { return 
> tl::expected<int,eptr>(21*2);};
>       |                                                          ^~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:374:62: error: template argument 2 is 
> invalid
>   374 |   auto succeedptr = [](eptr e) { return 
> tl::expected<int,eptr>(21*2);};
>       |                                                              ^
> /<<PKGBUILDDIR>>/tests/extensions.cpp: In function ‘void 
> ____C_A_T_C_H____T_E_S_T____6()’:
> /<<PKGBUILDDIR>>/tests/extensions.cpp:376:21: error: ‘eptr’ has not been 
> declared
>   376 |   auto efail =   [](eptr e) { *e = 17;return 
> tl::expected<int,eptr>(tl::unexpect, std::move(e));};
>       |                     ^~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp: In lambda function:
> /<<PKGBUILDDIR>>/tests/extensions.cpp:376:31: error: invalid type argument of 
> unary ‘*’ (have ‘int’)
>   376 |   auto efail =   [](eptr e) { *e = 17;return 
> tl::expected<int,eptr>(tl::unexpect, std::move(e));};
>       |                               ^~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:376:63: error: ‘eptr’ was not declared 
> in this scope
>   376 |   auto efail =   [](eptr e) { *e = 17;return 
> tl::expected<int,eptr>(tl::unexpect, std::move(e));};
>       |                                                               ^~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:376:67: error: template argument 2 is 
> invalid
>   376 |   auto efail =   [](eptr e) { *e = 17;return 
> tl::expected<int,eptr>(tl::unexpect, std::move(e));};
>       |                                                                   ^
> /<<PKGBUILDDIR>>/tests/extensions.cpp: In function ‘void 
> ____C_A_T_C_H____T_E_S_T____6()’:
> /<<PKGBUILDDIR>>/tests/extensions.cpp:377:21: error: ‘eptr’ has not been 
> declared
>   377 |   auto failptr = [](eptr e) { return 
> tl::expected<int,eptr>(tl::unexpect, std::move(e));};
>       |                     ^~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp: In lambda function:
> /<<PKGBUILDDIR>>/tests/extensions.cpp:377:55: error: ‘eptr’ was not declared 
> in this scope
>   377 |   auto failptr = [](eptr e) { return 
> tl::expected<int,eptr>(tl::unexpect, std::move(e));};
>       |                                                       ^~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:377:59: error: template argument 2 is 
> invalid
>   377 |   auto failptr = [](eptr e) { return 
> tl::expected<int,eptr>(tl::unexpect, std::move(e));};
>       |                                                           ^
> /<<PKGBUILDDIR>>/tests/extensions.cpp: In function ‘void 
> ____C_A_T_C_H____T_E_S_T____6()’:
> /<<PKGBUILDDIR>>/tests/extensions.cpp:379:31: error: ‘eptr’ does not name a 
> type
>   379 |   auto failvoidptr = [](const eptr&) { /* don't consume */};
>       |                               ^~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:379:60: error: expected ‘)’ before ‘;’ 
> token
>   379 |   auto failvoidptr = [](const eptr&) { /* don't consume */};
>       |                        ~                                   ^
>       |                                                            )
> /<<PKGBUILDDIR>>/tests/extensions.cpp: In lambda function:
> /<<PKGBUILDDIR>>/tests/extensions.cpp:379:60: error: expected ‘{’ before ‘;’ 
> token
> /<<PKGBUILDDIR>>/tests/extensions.cpp: In function ‘void 
> ____C_A_T_C_H____T_E_S_T____6()’:
> /<<PKGBUILDDIR>>/tests/extensions.cpp:380:24: error: ‘eptr’ has not been 
> declared
>   380 |   auto consumeptr = [](eptr) {};
>       |                        ^~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp: In lambda function:
> /<<PKGBUILDDIR>>/tests/extensions.cpp:381:45: error: ‘unique_ptr’ is not a 
> member of ‘std’
>   381 |   auto make_u_int = [](int n) { return std::unique_ptr<int>(new 
> int(n));};
>       |                                             ^~~~~~~~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:381:45: note: ‘std::unique_ptr’ is 
> defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
> /<<PKGBUILDDIR>>/tests/extensions.cpp:381:56: error: expected 
> primary-expression before ‘int’
>   381 |   auto make_u_int = [](int n) { return std::unique_ptr<int>(new 
> int(n));};
>       |                                                        ^~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:381:56: error: expected ‘;’ before ‘int’
>   381 |   auto make_u_int = [](int n) { return std::unique_ptr<int>(new 
> int(n));};
>       |                                                        ^~~
>       |                                                        ;
> /<<PKGBUILDDIR>>/tests/extensions.cpp:381:59: error: expected unqualified-id 
> before ‘>’ token
>   381 |   auto make_u_int = [](int n) { return std::unique_ptr<int>(new 
> int(n));};
>       |                                                           ^
> /<<PKGBUILDDIR>>/tests/extensions.cpp: In function ‘void 
> ____C_A_T_C_H____T_E_S_T____6()’:
> /<<PKGBUILDDIR>>/tests/extensions.cpp:405:23: error: ‘eptr’ was not declared 
> in this scope
>   405 |     tl::expected<int, eptr> e = 21;
>       |                       ^~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:405:27: error: template argument 2 is 
> invalid
>   405 |     tl::expected<int, eptr> e = 21;
>       |                           ^
> /<<PKGBUILDDIR>>/tests/extensions.cpp:406:29: error: request for member 
> ‘or_else’ in ‘std::move<int&>(e)’, which is of non-class type 
> ‘std::remove_reference<int&>::type’ {aka ‘int’}
>   406 |     auto ret = std::move(e).or_else(succeedptr);
>       |                             ^~~~~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:441:23: error: ‘eptr’ was not declared 
> in this scope
>   441 |     tl::expected<int, eptr> e = 21;
>       |                       ^~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:441:27: error: template argument 2 is 
> invalid
>   441 |     tl::expected<int, eptr> e = 21;
>       |                           ^
> /<<PKGBUILDDIR>>/tests/extensions.cpp:442:29: error: request for member 
> ‘or_else’ in ‘std::move<int&>(e)’, which is of non-class type 
> ‘std::remove_reference<int&>::type’ {aka ‘int’}
>   442 |     auto ret = std::move(e).or_else(efail);
>       |                             ^~~~~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:476:23: error: ‘eptr’ was not declared 
> in this scope
>   476 |     tl::expected<int, eptr> e(tl::unexpect, make_u_int(21));
>       |                       ^~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:476:27: error: template argument 2 is 
> invalid
>   476 |     tl::expected<int, eptr> e(tl::unexpect, make_u_int(21));
>       |                           ^
> /<<PKGBUILDDIR>>/tests/extensions.cpp:476:59: error: expression list treated 
> as compound expression in initializer [-fpermissive]
>   476 |     tl::expected<int, eptr> e(tl::unexpect, make_u_int(21));
>       |                                                           ^
> /<<PKGBUILDDIR>>/tests/extensions.cpp:477:29: error: request for member 
> ‘or_else’ in ‘std::move<int&>(e)’, which is of non-class type 
> ‘std::remove_reference<int&>::type’ {aka ‘int’}
>   477 |     auto ret = std::move(e).or_else(succeedptr);
>       |                             ^~~~~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:532:23: error: ‘eptr’ was not declared 
> in this scope
>   532 |     tl::expected<int, eptr> e(tl::unexpect, make_u_int(21));
>       |                       ^~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:532:27: error: template argument 2 is 
> invalid
>   532 |     tl::expected<int, eptr> e(tl::unexpect, make_u_int(21));
>       |                           ^
> /<<PKGBUILDDIR>>/tests/extensions.cpp:532:59: error: expression list treated 
> as compound expression in initializer [-fpermissive]
>   532 |     tl::expected<int, eptr> e(tl::unexpect, make_u_int(21));
>       |                                                           ^
> /<<PKGBUILDDIR>>/tests/extensions.cpp:533:29: error: request for member 
> ‘or_else’ in ‘std::move<int&>(e)’, which is of non-class type 
> ‘std::remove_reference<int&>::type’ {aka ‘int’}
>   533 |     auto ret = std::move(e).or_else(failvoidptr);
>       |                             ^~~~~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:539:23: error: ‘eptr’ was not declared 
> in this scope
>   539 |     tl::expected<int, eptr> e(tl::unexpect, make_u_int(21));
>       |                       ^~~~
> /<<PKGBUILDDIR>>/tests/extensions.cpp:539:27: error: template argument 2 is 
> invalid
>   539 |     tl::expected<int, eptr> e(tl::unexpect, make_u_int(21));
>       |                           ^
> /<<PKGBUILDDIR>>/tests/extensions.cpp:539:59: error: expression list treated 
> as compound expression in initializer [-fpermissive]
>   539 |     tl::expected<int, eptr> e(tl::unexpect, make_u_int(21));
>       |                                                           ^
> /<<PKGBUILDDIR>>/tests/extensions.cpp:540:29: error: request for member 
> ‘or_else’ in ‘std::move<int&>(e)’, which is of non-class type 
> ‘std::remove_reference<int&>::type’ {aka ‘int’}
>   540 |     auto ret = std::move(e).or_else(consumeptr);
>       |                             ^~~~~~~
> make[3]: *** [CMakeFiles/tests.dir/build.make:93: 
> CMakeFiles/tests.dir/tests/extensions.cpp.o] Error 1


The full build log is available from:
http://qa-logs.debian.net/2022/07/28/tl-expected_1.0.0~dfsg-2_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20220728;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20220728&[email protected]&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to