--- Begin Message ---
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.
--- End Message ---