From https://api.cirrus-ci.com/v1/task/5153787565834240/logs/ci.log:
0[10:01:13.083] [315/704][22.3s] clang-tidy-19 -p=/ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu -quiet -load=/tidy-build/libbitcoin-tidy.so /ci_container_base/src/ipc/libmultiprocess/src/mp/gen.cpp
1[10:01:13.083] /ci_container_base/src/ipc/libmultiprocess/src/mp/gen.cpp:217:5: warning: use a ranges version of this algorithm [modernize-use-ranges]
2[10:01:13.083] 217 | std::transform(guard.begin(), guard.end(), guard.begin(), [](unsigned char c) -> unsigned char {
3[10:01:13.083] | ^~~~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~~~~
4[10:01:13.083] | std::ranges::transform guard
5...
6[10:04:02.737] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:109:5: warning: Address of stack memory associated with temporary object of type '(lambda at /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:109:51)' is still referred to by a temporary object on the stack upon returning to the caller. This will be a dangling reference [clang-analyzer-core.StackAddressEscape]
7[10:04:02.737] 109 | return ReadDestEmplace{TypeList<LocalType>(), [&](auto&&... args) -> decltype(auto) {
8[10:04:02.737] | ^
9[10:04:02.737] /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/ipc/libmultiprocess/test/mp/test/foo.capnp.proxy-server.c++:41:12: note: Calling 'serverInvoke<mp::ProxyServer<mp::test::messages::FooInterface>, capnp::CallContext<mp::test::messages::FooInterface::PassCustomParams, mp::test::messages::FooInterface::PassCustomResults>, mp::ServerField<1, mp::Accessor<mp::foo_fields::Arg, 17>, mp::ServerRet<mp::Accessor<mp::foo_fields::Result, 18>, mp::ServerCall>>>'
10[10:04:02.737] 41 | return serverInvoke(*this, call_context, MakeServerField<1, Accessor<foo_fields::Arg, FIELD_IN | FIELD_BOXED>>(Make<ServerRet, Accessor<foo_fields::Result, FIELD_OUT | FIELD_BOXED>>(ServerCall())));
11[10:04:02.737] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12[10:04:02.737] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:699:16: note: Calling 'ReplaceVoid<(lambda at /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:699:28), (lambda at /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:700:13)>'
13[10:04:02.737] 699 | return ReplaceVoid([&]() { return fn.invoke(server_context, ArgList()); },
14[10:04:02.737] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15[10:04:02.737] 700 | [&]() { return kj::Promise<CallContext>(kj::mv(call_context)); })
16[10:04:02.737] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17[10:04:02.737] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:656:5: note: Calling 'operator()'
18[10:04:02.737] 656 | fn();
19[10:04:02.737] | ^~~~
20[10:04:02.737] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:699:43: note: Calling 'ServerField::invoke'
21[10:04:02.737] 699 | return ReplaceVoid([&]() { return fn.invoke(server_context, ArgList()); },
22[10:04:02.737] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23[10:04:02.737] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:529:16: note: Calling 'PassField<mp::Accessor<mp::foo_fields::Arg, 17>, mp::test::FooCustom, mp::ServerInvokeContext<mp::ProxyServer<mp::test::messages::FooInterface>, capnp::CallContext<mp::test::messages::FooInterface::PassCustomParams, mp::test::messages::FooInterface::PassCustomResults>>, const mp::ServerRet<mp::Accessor<mp::foo_fields::Result, 18>, mp::ServerCall> &, mp::TypeList<>>'
24[10:04:02.737] 529 | return PassField<Accessor>(Priority<2>(),
25[10:04:02.737] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26[10:04:02.737] 530 | typename Split<argc, ArgTypes>::First(),
27[10:04:02.737] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28[10:04:02.737] 531 | server_context,
29[10:04:02.737] | ~~~~~~~~~~~~~~~
30[10:04:02.737] 532 | this->parent(),
31[10:04:02.738] | ~~~~~~~~~~~~~~~
32[10:04:02.738] 533 | typename Split<argc, ArgTypes>::Second(),
33[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34[10:04:02.738] 534 | std::forward<Args>(args)...);
35[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:272:5: note: Calling 'MaybeReadField<mp::TypeList<mp::test::FooCustom>, mp::InvokeContext &, mp::StructField<mp::Accessor<mp::foo_fields::Arg, 17>, const mp::test::messages::FooInterface::PassCustomParams::Reader>, mp::ReadDestEmplace<mp::test::FooCustom, (lambda at /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:273:83)>>'
37[10:04:02.738] 272 | MaybeReadField(std::integral_constant<bool, Accessor::in>(), TypeList<ArgType>(), invoke_context,
38[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39[10:04:02.738] 273 | Make<StructField, Accessor>(params), ReadDestEmplace(TypeList<ArgType>(), [&](auto&&... args) -> auto& {
40[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41[10:04:02.738] 274 | param.emplace(std::forward<decltype(args)>(args)...);
42[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
43[10:04:02.738] 275 | return *param;
44[10:04:02.738] | ~~~~~~~~~~~~~~
45[10:04:02.738] 276 | }));
46[10:04:02.738] | ~~~
47[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:244:5: note: Calling 'ReadField<mp::test::FooCustom, mp::InvokeContext &, mp::StructField<mp::Accessor<mp::foo_fields::Arg, 17>, const mp::test::messages::FooInterface::PassCustomParams::Reader>, mp::ReadDestEmplace<mp::test::FooCustom, (lambda at /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:273:83)>>'
48[10:04:02.738] 244 | ReadField(std::forward<Args>(args)...);
49[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:147:12: note: Calling 'CustomReadField<mp::StructField<mp::Accessor<mp::foo_fields::Arg, 17>, const mp::test::messages::FooInterface::PassCustomParams::Reader>, mp::ReadDestEmplace<mp::test::FooCustom, (lambda at /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:273:83)>>'
51[10:04:02.738] 147 | return CustomReadField(TypeList<RemoveCvRef<LocalTypes>...>(), Priority<2>(), std::forward<Args>(args)...);
52[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
53[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/test/mp/test/foo-types.h:35:12: note: Calling 'ReadDestEmplace::update'
54[10:04:02.738] 35 | return read_dest.update([&](FooCustom& value) {
55[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56[10:04:02.738] 36 | value.v1 = ReadField(TypeList<std::string>(), invoke_context, mp::Make<mp::ValueField>(custom.getV1()), ReadDestTemp<std::string>());
57[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58[10:04:02.738] 37 | value.v2 = custom.getV2();
59[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~
60[10:04:02.738] 38 | });
61[10:04:02.738] | ~~
62[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:87:23: note: 'is_const_v' is false
63[10:04:02.738] 87 | if constexpr (std::is_const_v<std::remove_reference_t<std::invoke_result_t<EmplaceFn>>>) {
64[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:87:9: note: Taking false branch
66[10:04:02.738] 87 | if constexpr (std::is_const_v<std::remove_reference_t<std::invoke_result_t<EmplaceFn>>>) {
67[10:04:02.738] | ^
68[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:97:13: note: Calling 'operator()'
69[10:04:02.738] 97 | update_fn(temp);
70[10:04:02.738] | ^~~~~~~~~~~~~~~
71[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/test/mp/test/foo-types.h:36:113: note: Calling 'ReadDestTemp<std::basic_string<char>>'
72[10:04:02.738] 36 | value.v1 = ReadField(TypeList<std::string>(), invoke_context, mp::Make<mp::ValueField>(custom.getV1()), ReadDestTemp<std::string>());
73[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
74[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:109:5: note: Address of stack memory associated with temporary object of type '(lambda at /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:109:51)' is still referred to by a temporary object on the stack upon returning to the caller. This will be a dangling reference
75[10:04:02.738] 109 | return ReadDestEmplace{TypeList<LocalType>(), [&](auto&&... args) -> decltype(auto) {
76[10:04:02.738] | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77[10:04:02.738] 110 | return LocalType{std::forward<decltype(args)>(args)...};
78[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79[10:04:02.738] 111 | }};
80[10:04:02.738] | ~
81[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/type-number.h:55:32: warning: The value '0' provided to the cast expression is not in the valid range of values for 'FooEnum' [clang-analyzer-optin.core.EnumCastOutOfRange]
82[10:04:02.738] 55 | return read_dest.construct(static_cast<LocalType>(input.get()));
83[10:04:02.738] | ^
84[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/test/mp/test/foo.h:24:12: note: enum declared here
85[10:04:02.738] 24 | enum class FooEnum : uint8_t { ONE = 1, TWO = 2, };
86[10:04:02.738] | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87[10:04:02.738] /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/ipc/libmultiprocess/test/mp/test/foo.capnp.proxy-server.c++:53:12: note: Calling 'serverInvoke<mp::ProxyServer<mp::test::messages::FooInterface>, capnp::CallContext<mp::test::messages::FooInterface::PassEnumParams, mp::test::messages::FooInterface::PassEnumResults>, mp::ServerField<1, mp::Accessor<mp::foo_fields::Arg, 1>, mp::ServerRet<mp::Accessor<mp::foo_fields::Result, 2>, mp::ServerCall>>>'
88[10:04:02.738] 53 | return serverInvoke(*this, call_context, MakeServerField<1, Accessor<foo_fields::Arg, FIELD_IN>>(Make<ServerRet, Accessor<foo_fields::Result, FIELD_OUT>>(ServerCall())));
89[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:699:16: note: Calling 'ReplaceVoid<(lambda at /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:699:28), (lambda at /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:700:13)>'
91[10:04:02.738] 699 | return ReplaceVoid([&]() { return fn.invoke(server_context, ArgList()); },
92[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93[10:04:02.738] 700 | [&]() { return kj::Promise<CallContext>(kj::mv(call_context)); })
94[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:656:5: note: Calling 'operator()'
96[10:04:02.738] 656 | fn();
97[10:04:02.738] | ^~~~
98[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:699:43: note: Calling 'ServerField::invoke'
99[10:04:02.738] 699 | return ReplaceVoid([&]() { return fn.invoke(server_context, ArgList()); },
100[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
101[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:529:16: note: Calling 'PassField<mp::Accessor<mp::foo_fields::Arg, 1>, mp::test::FooEnum, mp::ServerInvokeContext<mp::ProxyServer<mp::test::messages::FooInterface>, capnp::CallContext<mp::test::messages::FooInterface::PassEnumParams, mp::test::messages::FooInterface::PassEnumResults>>, const mp::ServerRet<mp::Accessor<mp::foo_fields::Result, 2>, mp::ServerCall> &, mp::TypeList<>>'
102[10:04:02.738] 529 | return PassField<Accessor>(Priority<2>(),
103[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104[10:04:02.738] 530 | typename Split<argc, ArgTypes>::First(),
105[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106[10:04:02.738] 531 | server_context,
107[10:04:02.738] | ~~~~~~~~~~~~~~~
108[10:04:02.738] 532 | this->parent(),
109[10:04:02.738] | ~~~~~~~~~~~~~~~
110[10:04:02.738] 533 | typename Split<argc, ArgTypes>::Second(),
111[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
112[10:04:02.738] 534 | std::forward<Args>(args)...);
113[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
114[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:272:5: note: Calling 'MaybeReadField<mp::TypeList<mp::test::FooEnum>, mp::InvokeContext &, mp::StructField<mp::Accessor<mp::foo_fields::Arg, 1>, const mp::test::messages::FooInterface::PassEnumParams::Reader>, mp::ReadDestEmplace<mp::test::FooEnum, (lambda at /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:273:83)>>'
115[10:04:02.738] 272 | MaybeReadField(std::integral_constant<bool, Accessor::in>(), TypeList<ArgType>(), invoke_context,
116[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
117[10:04:02.738] 273 | Make<StructField, Accessor>(params), ReadDestEmplace(TypeList<ArgType>(), [&](auto&&... args) -> auto& {
118[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
119[10:04:02.738] 274 | param.emplace(std::forward<decltype(args)>(args)...);
120[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
121[10:04:02.738] 275 | return *param;
122[10:04:02.738] | ~~~~~~~~~~~~~~
123[10:04:02.738] 276 | }));
124[10:04:02.738] | ~~~
125[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:244:5: note: Calling 'ReadField<mp::test::FooEnum, mp::InvokeContext &, mp::StructField<mp::Accessor<mp::foo_fields::Arg, 1>, const mp::test::messages::FooInterface::PassEnumParams::Reader>, mp::ReadDestEmplace<mp::test::FooEnum, (lambda at /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:273:83)>>'
126[10:04:02.738] 244 | ReadField(std::forward<Args>(args)...);
127[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
128[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:147:12: note: Calling 'CustomReadField<mp::test::FooEnum, mp::StructField<mp::Accessor<mp::foo_fields::Arg, 1>, const mp::test::messages::FooInterface::PassEnumParams::Reader>, mp::ReadDestEmplace<mp::test::FooEnum, (lambda at /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:273:83)>>'
129[10:04:02.738] 147 | return CustomReadField(TypeList<RemoveCvRef<LocalTypes>...>(), Priority<2>(), std::forward<Args>(args)...);
130[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
131[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/type-number.h:55:55: note: Calling 'StructField::get'
132[10:04:02.738] 55 | return read_dest.construct(static_cast<LocalType>(input.get()));
133[10:04:02.738] | ^~~~~~~~~~~
134[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:41:99: note: Calling 'Arg::get'
135[10:04:02.738] 41 | template<typename A = Accessor> auto get() const -> decltype(A::get(this->m_struct)) { return A::get(this->m_struct); }
136[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~
137[10:04:02.738] /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/ipc/libmultiprocess/test/mp/test/foo.capnp.proxy.h:174:82: note: Calling 'Reader::getArg'
138[10:04:02.738] 174 | template<typename S> static auto get(S&& s) -> decltype(s.getArg()) { return s.getArg(); }
139[10:04:02.738] | ^~~~~~~~~~
140[10:04:02.738] /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/ipc/libmultiprocess/test/mp/test/foo.capnp.h:5998:10: note: Calling 'StructReader::getDataField'
141[10:04:02.738] 5998 | return _reader.getDataField< ::int32_t>(
142[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
143[10:04:02.738] 5999 | ::capnp::bounded<0>() * ::capnp::ELEMENTS);
144[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
145[10:04:02.738] /usr/include/capnp/layout.h:1099:7: note: Assuming the condition is false
146[10:04:02.738] 1099 | if ((offset + ONE * ELEMENTS) * capnp::bitsPerElement<T>() <= dataSize) {
147[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
148[10:04:02.738] /usr/include/capnp/layout.h:1099:3: note: Taking false branch
149[10:04:02.738] 1099 | if ((offset + ONE * ELEMENTS) * capnp::bitsPerElement<T>() <= dataSize) {
150[10:04:02.738] | ^
151[10:04:02.738] /usr/include/capnp/layout.h:1102:5: note: Returning zero
152[10:04:02.738] 1102 | return static_cast<T>(0);
153[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~
154[10:04:02.738] /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/ipc/libmultiprocess/test/mp/test/foo.capnp.h:5998:10: note: Returning from 'StructReader::getDataField'
155[10:04:02.738] 5998 | return _reader.getDataField< ::int32_t>(
156[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
157[10:04:02.738] 5999 | ::capnp::bounded<0>() * ::capnp::ELEMENTS);
158[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
159[10:04:02.738] /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/ipc/libmultiprocess/test/mp/test/foo.capnp.h:5998:3: note: Returning zero
160[10:04:02.738] 5998 | return _reader.getDataField< ::int32_t>(
161[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
162[10:04:02.738] 5999 | ::capnp::bounded<0>() * ::capnp::ELEMENTS);
163[10:04:02.738] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
164[10:04:02.738] /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/ipc/libmultiprocess/test/mp/test/foo.capnp.proxy.h:174:82: note: Returning from 'Reader::getArg'
165[10:04:02.738] 174 | template<typename S> static auto get(S&& s) -> decltype(s.getArg()) { return s.getArg(); }
166[10:04:02.738] | ^~~~~~~~~~
167[10:04:02.738] /ci_container_base/ci/scratch/build-x86_64-pc-linux-gnu/src/ipc/libmultiprocess/test/mp/test/foo.capnp.proxy.h:174:75: note: Returning zero
168[10:04:02.738] 174 | template<typename S> static auto get(S&& s) -> decltype(s.getArg()) { return s.getArg(); }
169[10:04:02.738] | ^~~~~~~~~~~~~~~~~
170[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:41:99: note: Returning from 'Arg::get'
171[10:04:02.738] 41 | template<typename A = Accessor> auto get() const -> decltype(A::get(this->m_struct)) { return A::get(this->m_struct); }
172[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~
173[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/proxy-types.h:41:92: note: Returning zero
174[10:04:02.738] 41 | template<typename A = Accessor> auto get() const -> decltype(A::get(this->m_struct)) { return A::get(this->m_struct); }
175[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
176[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/type-number.h:55:55: note: Returning from 'StructField::get'
177[10:04:02.738] 55 | return read_dest.construct(static_cast<LocalType>(input.get()));
178[10:04:02.738] | ^~~~~~~~~~~
179[10:04:02.738] /ci_container_base/src/ipc/libmultiprocess/include/mp/type-number.h:55:32: note: The value '0' provided to the cast expression is not in the valid range of values for 'FooEnum'
180[10:04:02.738] 55 | return read_dest.construct(static_cast<LocalType>(input.get()));
181[10:04:02.738] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
182[10:05:00.005] 2 warnings generated.