-
Notifications
You must be signed in to change notification settings - Fork 180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add HAL patterns/guidelines/recommendations #235
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @korken89 (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd prefer if we could tone down "Guidelines" to "good practises".
Thanks for writing these up! I'm excited to have some documented design patterns we can start iterating on. Personally I'd rather see the structure be Design Patterns / HAL Design / {Naming, Interop, ..}, and we could put other designs inside Design Patterns later. I think "HAL Design" is a bit too niche for a top-level chapter in the book, which is still mainly targeted at embedded Rust users. It looks like some syntax errors in the examples are failing to build. |
Looks like |
I'll merge this tomorrow in case anyone else has comments or feedback. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM now, thanks!
bors merge |
Build succeeded: |
Update books ## book 2 commits in e37c0e84e2ef73d3a4ebffda8011db6814a3b02d..6247be15a7f7509559f7981ee2209b9e0cc121df 2020-04-26 09:31:36 -0500 to 2020-05-03 10:55:09 -0500 - Fix guessing game listing explanation (rust-lang/book#2321) - Update ch01-01-installation.md (rust-lang/book#2325) ## edition-guide 1 commits in 8204c1d123472cd17f0c1c5c77300ae802eb0271..49270740c7a4bff2763e6bc730b191d45b7d5167 2020-04-09 18:55:50 -0700 to 2020-05-11 08:50:29 -0500 - Use rust-lang/rust linkchecker on CI. (rust-lang/edition-guide#197) ## embedded-book 1 commits in 40beccdf1bb8eb9184a2e3b42db8b8c6e394247f..366c50a03bed928589771eba8a6f18e0c0c01d23 2020-04-26 17:44:14 +0000 to 2020-05-07 09:04:42 +0000 - Add HAL patterns/guidelines/recommendations (rust-embedded/book#235) ## nomicon 3 commits in 4d2d275997746d35eabfc4d992dfbdcce2f626ed..d1517d4e3f29264c5c67bce2658516bb5202c800 2020-04-27 10:24:52 -0400 to 2020-05-12 13:47:00 -0400 - Rename Unique::empty to Unique::dangling - Use simpler link syntax - Replace catch_panic by catch_unwind ## reference 3 commits in ed22e6fbfcb6ce436e9ea3b4bb4a55b2fb50a57e..892b928b565e35d25b6f9c47faee03b94bc41489 2020-04-24 12:46:22 -0700 to 2020-05-11 11:13:51 -0700 - clarify that str data must still be initialized - remove language-level UB for non-UTF-8 str - Replace incorrect term "parent modules" with "ancestor modules". (rust-lang/reference#806) ## rust-by-example 2 commits in ffc99581689fe2455908aaef5f5cf50dd03bb8f5..ab072b14393cbd9e8a1d1d75879bf51e27217bbb 2020-04-24 15:05:04 -0300 to 2020-05-09 08:46:39 -0300 - Fix link of formatting traits (rust-lang/rust-by-example#1346) - Remove stale footnote (rust-lang/rust-by-example#1345)
Update books ## book 2 commits in e37c0e84e2ef73d3a4ebffda8011db6814a3b02d..6247be15a7f7509559f7981ee2209b9e0cc121df 2020-04-26 09:31:36 -0500 to 2020-05-03 10:55:09 -0500 - Fix guessing game listing explanation (rust-lang/book#2321) - Update ch01-01-installation.md (rust-lang/book#2325) ## edition-guide 1 commits in 8204c1d123472cd17f0c1c5c77300ae802eb0271..49270740c7a4bff2763e6bc730b191d45b7d5167 2020-04-09 18:55:50 -0700 to 2020-05-11 08:50:29 -0500 - Use rust-lang/rust linkchecker on CI. (rust-lang/edition-guide#197) ## embedded-book 1 commits in 40beccdf1bb8eb9184a2e3b42db8b8c6e394247f..366c50a03bed928589771eba8a6f18e0c0c01d23 2020-04-26 17:44:14 +0000 to 2020-05-07 09:04:42 +0000 - Add HAL patterns/guidelines/recommendations (rust-embedded/book#235) ## nomicon 3 commits in 4d2d275997746d35eabfc4d992dfbdcce2f626ed..d1517d4e3f29264c5c67bce2658516bb5202c800 2020-04-27 10:24:52 -0400 to 2020-05-12 13:47:00 -0400 - Rename Unique::empty to Unique::dangling - Use simpler link syntax - Replace catch_panic by catch_unwind ## reference 3 commits in ed22e6fbfcb6ce436e9ea3b4bb4a55b2fb50a57e..892b928b565e35d25b6f9c47faee03b94bc41489 2020-04-24 12:46:22 -0700 to 2020-05-11 11:13:51 -0700 - clarify that str data must still be initialized - remove language-level UB for non-UTF-8 str - Replace incorrect term "parent modules" with "ancestor modules". (rust-lang/reference#806) ## rust-by-example 2 commits in ffc99581689fe2455908aaef5f5cf50dd03bb8f5..ab072b14393cbd9e8a1d1d75879bf51e27217bbb 2020-04-24 15:05:04 -0300 to 2020-05-09 08:46:39 -0300 - Fix link of formatting traits (rust-lang/rust-by-example#1346) - Remove stale footnote (rust-lang/rust-by-example#1345)
Imported from https://github.com/jonas-schievink/hal-guidelines/