Open
Description
Using a struct with overrides seems to fail the build, i'm trying to use libtorrent but it throws a few hundred candidate expects x arguments, x provided
errors and fails the build
use autocxx::prelude::*;
use std::ffi::CStr;
include_cpp! {
#include "libtorrent/version.hpp"
#include "libtorrent/session.hpp"
safety!(unsafe_ffi)
generate!("libtorrent::version")
generate!("libtorrent::session")
}
imported code:
https://github.com/arvidn/libtorrent/blob/e9bbf16bdd899f42aef0f0c2b1f214de2c15ac92/include/libtorrent/session.hpp#L160-L190
explicit session(session_params const& params);
explicit session(session_params&& params);
session(session_params const& params, session_flags_t flags);
session(session_params&& params, session_flags_t flags);
session();
session(session_params&& params, io_context& ios);
session(session_params const& params, io_context& ios);
session(session_params&& params, io_context& ios, session_flags_t);
session(session_params const& params, io_context& ios, session_flags_t);
session(session&&);
session& operator=(session&&) &;
session(session const&) = delete;
session& operator=(session const&) = delete;
ouput:
[...] (a few hundreds/thousands similar warnings)
cargo:warning= 181 | session(session_params&& params, io_context& ios, session_flags_t);
cargo:warning= | ^~~~~~~~~~~~~~~
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:180:3: note: candidate: 'libtorrent::session::session(const libtorrent::session_params&, boost::asio::io_context&)'
cargo:warning= 180 | session(session_params const& params, io_context& ios);
cargo:warning= | ^~~~~~~
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:180:3: note: candidate expects 2 arguments, 3 provided
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:179:3: note: candidate: 'libtorrent::session::session(libtorrent::session_params&&, boost::asio::io_context&)'
cargo:warning= 179 | session(session_params&& params, io_context& ios);
cargo:warning= | ^~~~~~~
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:179:3: note: candidate expects 2 arguments, 3 provided
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:164:3: note: candidate: 'libtorrent::session::session()'
cargo:warning= 164 | session();
cargo:warning= | ^~~~~~~
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:164:3: note: candidate expects 0 arguments, 3 provided
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:163:3: note: candidate: 'libtorrent::session::session(libtorrent::session_params&&, libtorrent::session_handle::session_flags_t)'
cargo:warning= 163 | session(session_params&& params, session_flags_t flags);
cargo:warning= | ^~~~~~~
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:163:3: note: candidate expects 2 arguments, 3 provided
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:162:3: note: candidate: 'libtorrent::session::session(const libtorrent::session_params&, libtorrent::session_handle::session_flags_t)'
cargo:warning= 162 | session(session_params const& params, session_flags_t flags);
cargo:warning= | ^~~~~~~
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:162:3: note: candidate expects 2 arguments, 3 provided
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:161:12: note: candidate: 'libtorrent::session::session(libtorrent::session_params&&)'
cargo:warning= 161 | explicit session(session_params&& params);
cargo:warning= | ^~~~~~~
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:161:12: note: candidate expects 1 argument, 3 provided
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:160:12: note: candidate: 'libtorrent::session::session(const libtorrent::session_params&)'
cargo:warning= 160 | explicit session(session_params const& params);
cargo:warning= | ^~~~~~~
cargo:warning=/home/dev/fkn-proxy/libtorrent/session.hpp:160:12: note: candidate expects 1 argument, 3 provided
exit status: 1