Cargo Features
[dependencies]
tarantool = { version = "10.1.0", default-features = false, features = ["net_box", "picodata", "static_linking", "all", "tokio_components", "network_client", "internal_test", "test", "standalone_decimal", "stored_procs_slice", "extra_impls", "anyhow"] }
- default all? = net_box, network_client
-
These default features are set whenever
tarantoolis added withoutsomewhere in the dependency tree.default-features = false - net_box default = refpool
- picodata static_linking? tokio_components? = crossbeam-queue
-
Affects
tarantool::Logger,tarantool::LogFormatFn,tarantool::BoxTuple,tarantool::BoxTupleFormat,tarantool::box_tuple_data_offset,tarantool::box_tuple_hash,tarantool::box_generate_func_id,tarantool::LCPipe,tarantool::box_read_view_t,tarantool::box_read_view_iterator_t,tarantool::space_index_id,tarantool::cbus,tarantool::read_view,codec::ldap_prepare,codec::ldap_auth_data,codec::md5_prepare,codec::md5_auth_data,schema::function,tuple::TupleBuilder… - static_linking = picodata
-
This feature is enabled when
tarantool-moduleis being compiled as part of the picodata binary itself. This allows for a number of optimizations, for example we can link against symbols which aren't exported dynamically and therefore benefit from link-time optimiaztions. - all = default, test
- tokio_components = picodata, tokio
- network_client default = openssl
-
Affects
network::client,network::Error… - internal_test = pretty_assertions, tempfile, test
-
Enables internal_test of tlua
Affects
test::util… - test all? internal_test? = tester
-
Affects
tarantool::test… - standalone_decimal = dec
-
This feature switches tarantool module decimal support to use rust dec crate instead of decimal impl available in tarantool.
This feature has two use cases,the primary one is decimal support for rust module used with vanilla tarantool (without our fork). In vanilla many needed symbols are not exported,
so we cant use tarantool builtin decimal.
Another case that is considered as a temporary hack are sbroad unit tests. Currently they are run outside tarantool. So tarantool symbols are not available there. Thus standalone option usage. This is expected to be resolved.
Beware: having two implementations of decimal (one in tarantool and one on the rust side)
in use at the same time is problematic because libdecnumber versions used by both of the options are not exactly the same. Thus deviations in behaviour between them are possible - stored_procs_slice
-
Enables stored_procs_slice of tarantool-proc
- extra_impls = smol_str
-
Enables implementations of some traits for types from some external crates.
Enables extra_impls of tlua
Affects
msgpack::smol_str…
Features from optional dependencies
In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- dec standalone_decimal?
- refpool net_box
- smol_str extra_impls?
-
Enables smol_str ^0.2
- tester test?
-
Enables tester ^0.7.0
- crossbeam-queue picodata?
- pretty_assertions internal_test?
- tempfile internal_test?
- tokio tokio_components?
- anyhow implicit feature
-
Enables anyhow
anyhow:
Flexible concrete Error type built on std::error::Error
- openssl network_client