diff options
author | 2021-03-04 19:12:35 +0000 | |
---|---|---|
committer | 2021-03-04 19:12:35 +0000 | |
commit | 89a5c8004efaa8f42c86a1aedb609f49ec511333 (patch) | |
tree | 6db5b553e24a540284edc3f3fbf87043c638defc /macros/src/codegen/assertions.rs | |
parent | 81a8a591353b1ea0208c68b28ee81286629039cc (diff) | |
parent | 2e4a4ffd87c8a031f27635c060042019511523dc (diff) | |
download | rtic-89a5c8004efaa8f42c86a1aedb609f49ec511333.tar.gz rtic-89a5c8004efaa8f42c86a1aedb609f49ec511333.tar.zst rtic-89a5c8004efaa8f42c86a1aedb609f49ec511333.zip |
Merge #436v0.6.0-alpha.1
436: New monotonic r=AfoHT a=korken89
Design document: https://hackmd.io/vWa9GvssR8qBfUYgMZm0CQ
Closes #433
Closes #432
Closes #427
Closes #426
Closes #403
Closes #332
Closes #312
Closes #309
Closes #299
Closes #292
Closes #247
Closes #219
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
Diffstat (limited to 'macros/src/codegen/assertions.rs')
-rw-r--r-- | macros/src/codegen/assertions.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/macros/src/codegen/assertions.rs b/macros/src/codegen/assertions.rs index 4d9aae47..a8a4491b 100644 --- a/macros/src/codegen/assertions.rs +++ b/macros/src/codegen/assertions.rs @@ -2,9 +2,10 @@ use proc_macro2::TokenStream as TokenStream2; use quote::quote; use crate::analyze::Analysis; +use rtic_syntax::ast::App; /// Generates compile-time assertions that check that types implement the `Send` / `Sync` traits -pub fn codegen(analysis: &Analysis) -> Vec<TokenStream2> { +pub fn codegen(app: &App, analysis: &Analysis) -> Vec<TokenStream2> { let mut stmts = vec![]; for ty in &analysis.send_types { @@ -15,5 +16,10 @@ pub fn codegen(analysis: &Analysis) -> Vec<TokenStream2> { stmts.push(quote!(rtic::export::assert_sync::<#ty>();)); } + for (_, monotonic) in &app.monotonics { + let ty = &monotonic.ty; + stmts.push(quote!(rtic::export::assert_monotonic::<#ty>();)); + } + stmts } |