Skip to content

Commit cddf3a8

Browse files
committed
address review comments
1 parent 30a87d5 commit cddf3a8

File tree

1 file changed

+29
-3
lines changed

1 file changed

+29
-3
lines changed

newsletters/2018-05-12-the-path-towards-stable.md renamed to newsletters/2018-05-13-the-path-towards-stable.md

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
# Cortex-M library development now possible on beta and the path towards stable embedded Rust
22

3-
> 2018-05-12
3+
> 2018-05-13
4+
5+
> **TL;DR**
6+
>
7+
> * 1.27 = embedded (Cortex-M) *library* development on stable
8+
> * 1.28 or 1.29 = embedded (Cortex-M) *application* development on stable
9+
> * We are making breaking changes in the ecosystem in order to move towards development on the
10+
> stable channel
11+
> * If you are a crate maintainer / author, make sure you test your crates with the new versions of
12+
> `cortex-m` (and similar) on the current `beta` release of Rust
13+
> * If the latest version of a dependency doesn't compile on `beta`, file an issue and/or ping us on
14+
> the #rust-embedded IRC channel
15+
> * Thanks for your patience!
416
517
We are happy to announce that *library* development for the Cortex-M targets is now possible on the
618
beta channel! :tada:
@@ -107,7 +119,8 @@ Legend: `crate-name` - link to CHANGELOG - link to stabilization PR - ~removed u
107119
[ch10]: https://github.com/japaric/stm32f30x/blob/master/CHANGELOG.md#v070---2018-05-12
108120
[p10]: https://github.com/japaric/stm32f30x/pull/16
109121

110-
- [`svd2rust`][c11] - [CHANGELOG][ch11] - [PR][p11]
122+
- [`svd2rust`][c11] (output of) - [CHANGELOG][ch11] - [PR][p11] - ~const_fn~ ~global_asm!~
123+
~try_from~ ~use_extern_macros~ ~used~
111124

112125
[c11]: https://crates.io/crates/svd2rust/0.13.0
113126
[ch11]: https://github.com/japaric/svd2rust/blob/master/CHANGELOG.md#v0130---2018-05-12
@@ -136,7 +149,7 @@ beta.
136149

137150
If you are the author of a Cortex-M device crate, a crate generated using `svd2rust`, moving it to
138151
stable only requires regenerating it using `svd2rust` v0.13.0. Do note that the generation process
139-
[has changed] for the Cortex-M target, and make sure you bump the minor version when you publish a
152+
[has changed] for the Cortex-M target; also make sure you bump the minor version when you publish a
140153
new version.
141154

142155
[has changed]: https://docs.rs/svd2rust/0.13.0/svd2rust/#usage
@@ -147,6 +160,19 @@ you publish a new version of your crate -- bumping the version of the `embedded-
147160
breaking change (drivers that depend on `embedded-hal` v0.1.0 can't be used with HAL implementation
148161
crates that depend on `embedded-hal` v0.2.0).
149162

163+
If you are porting an application to the newest `cortex-m-*` crates you may hit these errors:
164+
165+
- "error: requires `start` lang_item" on binary crates. You need to switch from the standard `main`
166+
interface to `#![no_main]` + `entry!`. Use the [examples][qse] in the quickstart template as a
167+
reference.
168+
169+
[qse]: https://docs.rs/cortex-m-quickstart/0.3.0/cortex_m_quickstart/examples/_0_minimal/index.html
170+
171+
- "error[E0015]: calls in statics are limited to constant functions, tuple structs and tuple
172+
variants". `const fn` is not a stable feature so it's not used in the API by default. The
173+
`cortex-m` provides a `"const-fn"` feature to opt into this unstable feature and expose `const`
174+
functions in the API; other dependencies should / probably provide a similar feature.
175+
150176
## What does this all mean for you?
151177

152178
To those of you who have been doing embedded development on nightly: things will get *much easier*

0 commit comments

Comments
 (0)