Open kaspar030 opened 5 months ago
We're aiming to build with stable Rust.
Currently, we're using these unstable features:
can't do without:
used_with_arg
impl_trait_in_assoc_type
task
could do without:
type_alias_impl_trait
const_mut_refs
custom_test_frameworks
defmt-test
doc_auto_cfg
error_in_core
fn_traits
inline_const
riot-rs-threads
lint_reasons
user facing means, those need to be enabled in application crates b/c they're used by macros or code we provide.
user facing
The current experimental sensor abstraction also relies on trait_upcasting. We may be able to work around that.
trait_upcasting
We're aiming to build with stable Rust.
Currently, we're using these unstable features:
can't do without:
used_with_arg
: this is used by linkme for its distributed slices. User facing!impl_trait_in_assoc_type
: required by Embassy. User facing for applications using thetask
macrocould do without:
type_alias_impl_trait
=> embassy uses this or pre-allocate futures memory. User facing!const_mut_refs
: used by ringbuffercustom_test_frameworks
: will go when we have migrated todefmt-test
doc_auto_cfg
: used only when compiling documentationerror_in_core
: stabilized and removed in https://github.com/future-proof-iot/RIOT-rs/pull/431fn_traits
inline_const
: stabilizedriot-rs-threads
lint_reasons
: stabilized and removed in https://github.com/future-proof-iot/RIOT-rs/pull/419/user facing
means, those need to be enabled in application crates b/c they're used by macros or code we provide.