Skip to content

ZK Rust Language Features

This table tracks feature availability, including feature comparison with the main Rust project, and some ZkRust specific features mixed in. This is not a roadmap.

Legend: ✅ Supported, ✨ Supported and distinct from Rust, ❌ Unsupported

Feature Status Likelyhood of implementation
For-in-range ✅
Public Integers and booleans ✅
SbiN (Secret Binary Integers) ✨
Structs with public ✅
Structs with secret ✨
Tuple Types ✅
Type generics ✅
continue, break ✅
Type aliases ✅
Generalized for-in-iterator ✅
Assigning to struct fields ✅
fn Function declaration ✅
Arrays ✅
General derive traits ❌ Likely
enum ❌ Likely
const Constant items ❌ Possibly
Closure expressions ❌ Possibly
Constant generics ❌ Possibly
Constant evaluation ❌ Possibly
Full iterator interface ❌ Possibly
Function references and types ❌ Possibly
Pattern matching and Destructuring ❌ Possibly
String Type ❌ Possibly
Compound assignment expressions ❌ Possibly
Question mark operator ❌ Possibly
match ❌ Possibly
union ❌ Possibly
f32, f64 Floats ❌ Unlikely
Associated items ❌ Unlikely
extern crate ❌ Unlikely
Full borrow checking ❌ Unlikely
General macro support ❌ Unlikely
Generic Associated Types ❌ Unlikely
Modules ❌ Unlikely
Trait and impl ❌ Unlikely
dyn Trait objects ❌ Unlikely
panic! ❌ Unlikely
Lifetimes ❌ Unlikely, due to limited utility
References and Pointers ❌ Unlikely, due to limited utility
loop ❌ Unlikely, due to gas concerns.
while ❌ Unlikely, due to gas concerns.
Bitshift with two secrets ❌ Unlikely, due to performance concerns.
Array indexing with secret-shared index ❌ Unlikely, due to performance concerns.
Async ❌ Incompatible with current archtecture.
Inline Assembly ❌ Incompatible with current archtecture.
Operating System Access ❌ Incompatible with current archtecture.
print! and other IO ❌ Incompatible with current archtecture.
Threading ❌ Incompatible with current archtecture.
unsafe ❌ Incompatible with current archtecture.