Cargo Features

[dependencies]
tarantool = { version = "5.0.0", default-features = false, features = ["all", "net_box", "picodata", "tokio_components", "network_client", "internal_test", "test", "standalone_decimal", "async-std", "anyhow"] }
default all? = net_box, network_client

These default features are set whenever tarantool is added without default-features = false somewhere in the dependency tree.

all = default, test
net_box default = refpool
picodata 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_auth_data, codec::md5_auth_data, schema::function, tuple::TupleBuilder

tokio_components = picodata, tokio
network_client default

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

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
tester test?

Enables tester ^0.7.0

crossbeam-queue picodata?
async-std implicit feature

Enables async-std

async-std:

Async version of the Rust standard library

pretty_assertions internal_test?
tempfile internal_test?
tokio tokio_components?

Enables tokio =1.29.1

anyhow implicit feature

Enables anyhow

anyhow:

Flexible concrete Error type built on std::error::Error