- Build:
cargo build(workspace),cargo build -p <crate>(single crate) - Test all:
cargo test - Single test:
cargo test <test_name>orcargo test -p <crate> <test_name> - Format:
cargo fmt, Lint:cargo clippy
- Edition: Rust 2024,
#![no_std]for core crates (usealloccrate) - Line width: 150 chars (rustfmt.toml)
- Indent: 4 spaces, LF line endings
- Imports: Group
alloc/corefirst, then external crates, thencrate::local imports - Naming: snake_case for functions/files, PascalCase for types/traits
- Error handling: Use
Result<T>(alias forresult::Result<T, JavaError>), never panic in library code - Async: Use
#[async_trait::async_trait]for async trait methods,#[tokio::test]for async tests
jvm/- Core JVM implementation (#![no_std])jvm_rust/- Rust-based JVM interpreterjava_runtime/- Java standard library implementationsclassfile/- Class file parserjava_class_proto/- Java class prototypestest_utils/- Shared test utilities