Open
Description
KAS currently requires may use unstable language features when using nightly Rust.
Features enabled by the nightly
feature flag (optional but recommended):
proc_macro_diagnostic
— used inkas-macros
for better diagnosticsmin_specialization
— used by theLabel
widget to select appropriate draw routine- specialisation: used by
TryFormat
utility to useDebug
impl where available on generic type doc_cfg
— enables annotation of feature flags in documentationThis feature is now stable!generic_associated_types
— used in several places where associated types require a lifetime parameter, and desired to use in several more places.unsafe
and boxing/cloning used as workarounds.
Features not used but desired:
- if-let-chains
- permit _ in type aliases
- Equality constraints in where clauses
- Extended GATs (object-safe traits using GATs for lifetimes)
- Some way to simulate &mut reborrows in user code
- Direct support for anonymous trait object constructions (i.e. a custom, single-instance type definition, trait implementation, and instantiation). Related: structural records (but support for attribute macros and custom trait implementations is required).
- Inherent associated types