rust-embedded / book

Documentation on how to use the Rust Programming Language to develop firmware for bare metal (microcontroller) devices
https://docs.rust-embedded.org/book/
Apache License 2.0
1.12k stars 179 forks source link

Static guarantees look forward to Design Contracts #159

Open flip111 opened 5 years ago

flip111 commented 5 years ago

https://rust-embedded.github.io/book/static-guarantees/index.html

As far as i understand the best solution is presented in the section Design Contracts

A sentence could be added here saying "we will present a zero-overhead solution with strong guarantees in the Design Contracts section" or something similar. Because the chapter(s) before Design Contracts also follow the present-a-solution-but-do-not-use-this pattern. Heads up that we will discard intermediate solution and build up to the ultimate solution would be appreciated.

flip111 commented 5 years ago

So as i'm thinking about what to do with this issue ... i realize all sections of Chapter 4 Static Guarantees are written as an exploring/investigation style. As an exploration of the rust design space. So far the book has been a more hands on book on how to write code and what to watch out for.

There are large swats of code that don't have the detailed information as in previous sections of the book. Also there are multiple solutions which are then discarded for yet a better solution.

It's also not clear if the ultimate solution which is discussed last is now the end of the tunnel. Is this what the book advises someone to implement?

I understand the very interesting technical content. But what is the take-away for the reader? It could use some more focus. And reflect this in the opening paragraph of the book.

I can not move this issue forward by myself because i don't understand the intend of the original author.