このプロジェクトについて

asupersyncは、正しさは実行時ではなく構造的に強制されるべきという原則に基づいて設計されたRust用の非同期ランタイムです。安全性プロパティが型システムとタスク所有モデルに組み込まれた非同期Rustコードを書くための基盤を提供します。 主要な設計の柱: - 領域所有タスク:タスクは明示的な領域にバインドされ、開発者にタスクのライフタイムに対する細かい制御を提供し、非同期コンテキストでのリークやダングリング参照を防ぎます。 - キャンセル正しいプロトコル:キャンセルは、タスクが実行途中で中止された場合でも、クリーンアップ、リソース解放、状態の一貫性を保証するプロトコルを通じて処理されます。これにより、キャンセルされたフューチャーが副作用を未定義の状態に残すという古典的なRust非同期の問題を回避します。 - 能力ゲート効果:観察可能な効果を生み出す操作は、能力トークンの背後にゲートされます。適切な能力を保持するコードのみが効果を実行でき、副作用をコンパイル時に明示的かつ監査可能にします。 - 決定的リプレイテスト:ランタイムは決定的リプレイをサポートし、テストが非同期実行トレースを記録およびリプレイできるようにします。これにより、非決定的な並行性バグを再現可能かつデバッグ可能にします。 このライブラリは、非同期の正しさが重要であるシステム(インフラストラクチャサービス、並行システム、安全性に敏感なアプリケーションなど)を構築する開発者を対象としており、従来の非同期ランタイムでは静かな正しさの違反が許される可能性があります。MITライセンスの下で公開されています。