aboutsummaryrefslogtreecommitdiff
path: root/macros/src/codegen/resources.rs
diff options
context:
space:
mode:
Diffstat (limited to 'macros/src/codegen/resources.rs')
-rw-r--r--macros/src/codegen/resources.rs22
1 files changed, 15 insertions, 7 deletions
diff --git a/macros/src/codegen/resources.rs b/macros/src/codegen/resources.rs
index ad01ccbf..37de9124 100644
--- a/macros/src/codegen/resources.rs
+++ b/macros/src/codegen/resources.rs
@@ -93,17 +93,23 @@ pub fn codegen(
}
));
- let ptr = if expr.is_none() {
+ let (ptr, doc) = if expr.is_none() {
// late resource
- quote!(
- #(#cfgs)*
- &mut #mangled_name.get_mut_unchecked().assume_init()
+ (
+ quote!(
+ #(#cfgs)*
+ #mangled_name.get_mut_unchecked().as_mut_ptr()
+ ),
+ "late",
)
} else {
// early resource
- quote!(
- #(#cfgs)*
- unsafe { #mangled_name.get_mut_unchecked() }
+ (
+ quote!(
+ #(#cfgs)*
+ #mangled_name.get_mut_unchecked()
+ ),
+ "early",
)
};
@@ -114,6 +120,8 @@ pub fn codegen(
None => 0,
};
+ // let doc = format!(" RTIC internal ({} resource): {}:{}", doc, file!(), line!());
+
mod_app.push(util::impl_mutex(
extra,
cfgs,