Carl Kadie - 9 Rules for Creating (...) Data Structures - Rust Linz

  Рет қаралды 8,230

Rust

Rust

Күн бұрын

Data structures lie at the heart of robust software. Happily, with its speed and safety, Rust is great for creating new data structures. But where to get started and what to watch out for?
In this talk, we’ll cover nine rules that I learned while creating range-set-blaze, a crate for manipulating sets of “clumpy” integers. The rules include “plagiarize your design and documentation” and “create more Rust iterators than you expect”.
Whether you are an experienced Rustacean looking for a few tips or a beginner wanting to better understand how Rust features work together, this talk is for you!
Article: towardsdatascience.com/nine-r...

Пікірлер: 7
@mrpocock
@mrpocock 4 ай бұрын
Great talk. I would add that for data structures like this that have contracts and invariants, that it is absolutely essential to use something like quickcheck or proptest to both document and enforce these. This is different from tests or performance tests on representative data. This kind of contract testing is often not appropriate or outright useless for your application domain models, but is non-negotiable for the containers and processors.
@HyperFocusMarshmallow
@HyperFocusMarshmallow 4 ай бұрын
Great presentation and nice data structure!
@budiardjo6610
@budiardjo6610 4 ай бұрын
really nice talk
@r2k0ai
@r2k0ai 4 ай бұрын
♥🦀
@HyperFocusMarshmallow
@HyperFocusMarshmallow 4 ай бұрын
12:35 You mention here that your RangeSetBlaze only contains integers. Couldn’t it be trivially extended to any ordered type that implement the range operators? (Integers is probably the main use case, but still.)
@gamekiller0123
@gamekiller0123 4 ай бұрын
The range expressions aren't operators, so it doesn't make sense to "implement them", they are special syntax for RangeInclusive etc. They also have no bounds. You could probably use something like the nightly Step trait, but it provides very little beyond what he has already and would require nightly.
@Turalcar
@Turalcar 3 ай бұрын
Yes, it's in the docs for the range-set-blaze crate
Super sport🤯
00:15
Lexa_Merin
Рет қаралды 20 МЛН
Joven bailarín noquea a ladrón de un golpe #nmas #shorts
00:17
RustConf 2023 - How Powerful is Const
22:58
Rust
Рет қаралды 12 М.
Rust and RAII Memory Management - Computerphile
24:22
Computerphile
Рет қаралды 213 М.
Webinar Replay: How to Get Started with Rust for Robotics
39:05
Tangram Vision
Рет қаралды 2,9 М.
Faster than Rust and C++: the PERFECT hash table
33:52
strager
Рет қаралды 508 М.
Stefan Baumgartner - Trials, Traits, and Tribulations
28:15
When the details matter - Niko Matsakis - EuroRust 2023
30:57
EuroRust
Рет қаралды 3,8 М.
Rust for TypeScript devs : Borrow Checker
8:49
ThePrimeagen
Рет қаралды 211 М.
IPad Pro fix screen
1:01
Tamar DB (mt)
Рет қаралды 11 МЛН
Как я сделал домашний кинотеатр
0:41
RICARDO
Рет қаралды 1,5 МЛН