Vocational Rust 3/3

This three-modules long Rust course is made for developers that already have some experience in functional programming and wish to build upon it an advanced expertise in Rust. This low-level language ties robustness and performance in one package which makes it a serious contender to replace C and C++.

This third and final module completes the previous ones by covering parallelism, one of the strongest arguments in favour of Rust. It also deals with the advanced usages of traits, the writing of procedural macros, Rust-C interfacing through the unsafe interface.

Program

Introduction

  • About This Book

Trait Objects

  • Not Trait Objects
  • Trait Objects
  • Heterogeneous Collections
  • Heterogeneous Collections of References
  • Heterogeneous Collections of References (Solution)

Lifetime Bounds

  • Problem with Heterogeneous Collections
  • Solutions for Heterogeneous Collections

Unsafe Rust

  • Unsafe Powers
  • Raw Pointers
  • Unsafe Functions
  • Unsafe Trait Implementations
  • Exercise
  • Exercise: Solution
  • Pro Tip: Safe Unsafe-Lifetime-Casts
  • Unsafe Rust

Unsafe Rust: FFI

  • Declaring/Using External Functions
  • Memory Leaks
  • Memory Unsafety: Code-Study
  • FFI: Calling Rust from C
  • Rust from C: Code-Study
  • Rust from C: Code-Study Part 2
  • FFI

Fearless Concurrency

  • Rc and Arc
  • Send and Sync (Again)
  • Threads
  • Threads: Channels and Messages
  • Threads: Asynchronous Channels

Complex practical case

  • Complete introduction to fearless concurrency and advanced traits

Vocational Rust 3/3

Duration: 1,5 days Practice: 50%
Price: 1500 EUR/person excl. taxes
Pre-requisites
  • Functional Prog.
  • Rust module 1
  • Rust module 2
Public
  • Developers
Pedagological Objectives
  • Introduction
  • Trait Objects
  • Lifetime Bounds
  • Unsafe Rust
  • Unsafe Rust: FFI
  • Fearless Concurrency
  • Complex practical case

Adrien Champion (Rust)

Adrien est un développeur R&D senior chez OCamlPro depuis 2018 après avoir obtenu une thèse de doctorat et un post-doc au Japon. Adrien développe en Rust depuis les premières versions du compilateur Rust, et maintient plusieurs paquets open-source en Rust tel que hashconsing, rsmt2, zdd ou safe_index.

Evaluating progress

We make the progress of our trainees and its evaluation a core aspect of our courses. Indeed, guaranteeing the durable acquisition of the skills at hand is key, especially for the newer comers. To that extent, we will have trainees undergo tailored group works, exercises and hands-on practice which modalities can all be customised to your specific needs.

At the end of the course, you will have an opportunity for feedback to help us improve upon our methods. This is crucial as we believe there is always room for learning on both sides of the desk and no opinion other than yours matters more for us to do so.

Considering RQTH(Recognition of Handicapped Worker Status)

If people with disabilities are part of the course, do reach out to us so we can adapt the training accordingly.

Pedagogical Ressources

The ressources are written by the OCamlPro team prior to the courses. Documents are generally written in english and can be translated to french if need be.

Funding resorts in France

Unfortunately our trainings cannot yet be funded by institutions such as OCPO (despite these funds fully covering the price of our trainings), neither can they be funded by CPF.

Inter Corporation Trainings

Time slots for our on-site Inter Corporation Trainings are the following:

  • Start - 9:30AM
  • Lunch Break - 12:00PM to 01:00PM
  • End - 05:30PM