1. زبان برنامه‌نویسی راست
  2. پیش‌گفتار
  3. مقدمه
  4. شروع کار
    1. نصب
    2. سلام، دنیا!
    3. سلام، Cargo!
  5. برنامه‌نویسی یک بازی حدس زدن
  6. مفاهیم رایج برنامه‌نویسی
    1. متغیرها و تغییرپذیری
    2. انواع داده
    3. توابع
    4. کامنت‌ها
    5. کنترل جریان
  7. درک مالکیت
    1. مالکیت چیست؟
    2. ارجاعات و قرض گرفتن
    3. نوع Slice
  8. استفاده از Structها برای سازماندهی داده‌های مرتبط
    1. تعریف و نمونه‌سازی Structها
    2. یک برنامه نمونه با استفاده از Structها
    3. متد
  9. شمارنده‌ها و تطابق الگو
    1. تعریف یک Enum
    2. ساختار جریان کنترل match
    3. جریان کنترل مختصر با if let و let else
  10. مدیریت پروژه‌های در حال رشد با پکیج‌ها، جعبه‌ها (crates)، و ماژول‌ها
    1. پکیج‌ها و جعبه‌ها (crates)
    2. تعریف ماژول‌ها برای کنترل دامنه و حریم خصوصی
    3. مسیرها برای ارجاع به یک آیتم در درخت ماژول
    4. وارد کردن مسیرها با کلمه کلیدی use
    5. جداسازی ماژول‌ها به فایل‌های مختلف
  11. مجموعه‌های رایج
    1. ذخیره لیست مقادیر با بردارها
    2. ذخیره متن رمزگذاری‌شده UTF-8 با رشته‌ها
    3. ذخیره کلیدها با مقادیر مرتبط در نقشه‌های هش
  12. مدیریت خطاها
    1. خطاهای غیرقابل بازیابی با panic!
    2. خطاهای قابل بازیابی با Result
    3. آیا از panic! استفاده کنیم یا نه؟
  13. انواع جنریک، صفت‌ها، و طول عمرها
    1. انواع داده جنریک
    2. صفت‌ها: تعریف رفتارهای مشترک
    3. اعتبارسنجی ارجاعات با طول عمرها
  14. نوشتن تست‌های خودکار
    1. چگونه تست بنویسیم
    2. کنترل نحوه اجرای تست‌ها
    3. سازماندهی تست‌ها
  15. یک پروژه I/O: ساخت یک برنامه خط فرمان
    1. پذیرش آرگومان‌های خط فرمان
    2. خواندن یک فایل
    3. بازسازی برای بهبود ماژولاریت و مدیریت خطا
    4. توسعه قابلیت‌های کتابخانه با توسعه مبتنی بر تست
    5. کار با متغیرهای محیطی
    6. نوشتن پیام‌های خطا به خروجی خطا به جای خروجی استاندارد
  16. ویژگی‌های زبان‌های تابعی: Iteratorها و Closureها
    1. Closureها: توابع ناشناخته که محیط خود را می‌گیرند
    2. پردازش یک سری آیتم با Iteratorها
    3. بهبود پروژه I/O ما
    4. مقایسه عملکرد: حلقه‌ها در مقابل Iteratorها
  17. بیشتر درباره Cargo و Crates.io
    1. سفارشی‌سازی بیلدها با پروفایل‌های انتشار
    2. منتشر کردن یک crate در Crates.io
    3. محیط‌های کاری Cargo
    4. نصب باینری‌ها از Crates.io با cargo install
    5. گسترش Cargo با دستورات سفارشی
  18. اشاره‌گرهای هوشمند (Smart Pointers)
    1. استفاده از Box<T> برای اشاره به داده‌ها در Heap
    2. رفتار اشاره‌گر (Pointer)های هوشمند مانند ارجاعات معمولی با صفت Deref
    3. اجرای کد هنگام پاک‌سازی با صفت Drop
    4. Rc<T>، اشاره‌گر (Pointer) هوشمند با شمارش ارجاعات
    5. RefCell<T> و الگوی تغییرپذیری داخلی
    6. چرخه‌های ارجاع می‌توانند باعث نشت حافظه شوند
  19. همزمانی بدون ترس
    1. استفاده از نخ‌ها برای اجرای همزمان کد
    2. استفاده از پیام‌رسانی برای انتقال داده بین نخ‌ها
    3. همزمانی با وضعیت مشترک
    4. همزمانی قابل گسترش با صفت‌های Sync و Send
  20. Async و Await
    1. Futures و نحو Async
    2. همزمانی با Async
    3. کار با تعداد دلخواهی از Futures
    4. Streams
    5. بررسی عمیق صفت‌ها برای Async
    6. Futures، Tasks، و Threads
  21. ویژگی‌های برنامه‌نویسی شی‌گرا در Rust
    1. ویژگی‌های زبان‌های شی‌گرا
    2. استفاده از صفت‌های شی‌گرا برای مقادیر از تایپ‌های مختلف
    3. پیاده‌سازی یک الگوی طراحی شی‌گرا
  22. الگوها و تطبیق
    1. تمام مکان‌هایی که می‌توان از الگوها استفاده کرد
    2. قابلیت رد: آیا ممکن است یک الگو با مقدار مطابقت نداشته باشد؟
    3. نحو الگوها
  23. ویژگی‌های پیشرفته
    1. Rust ناایمن
    2. Traits پیشرفته
    3. تایپ‌های پیشرفته
    4. توابع و Closures پیشرفته
    5. ماکروها
  24. پروژه نهایی: ساخت یک وب‌سرور چندنخی
    1. ساخت یک وب‌سرور single-threaded
    2. تبدیل وب‌سرور تک‌نخی به وب‌سرور چندنخی
    3. خاموشی ملایم و پاک‌سازی
  25. ضمیمه
    1. الف - کلمات کلیدی
    2. ب - عملگرها و نمادها
    3. ج - صفت‌های قابل اشتقاق
    4. د - ابزارهای توسعه مفید
    5. ه - نسخه‌ها
    6. و - ترجمه‌های کتاب
    7. ی - چگونه Rust ساخته می‌شود و "Nightly Rust"