About Serialport:

The serialport-rs library is a foundational cross-platform crate that enables Rust applications to communicate directly with hardware via serial ports. It serves as a vital bridge in the Rust embedded and robotics communities, allowing developers to reliably interface host machines with microcontrollers, sensors, and autonomous systems. To kick off my Google Summer of Code journey, my PR (#352) overhauls the codebase by stripping out the library's legacy dynamic dispatch architecture in favor of a faster, strictly encapsulated concrete implementation.

The Death of Box<dyn SerialPort>

Maybe the most prominent feature of this version of the library is the elimination of the Box<dyn SerialPort> type. Before, much use was made of trait objects within the framework of dynamic dispatch to deal with various ports. This was an efficient solution, although it came with some overhead in the form of run-time costs and awkward APIs.

Elimination of dynamic dispatch allows us to take full advantage of all that the compiler can do for us from optimizing our code to performing inline substitution where possible. In essence, this results in a more robust library with a nicer API overall.