aboutsummaryrefslogtreecommitdiff
path: root/macros/src/codegen/resources_struct.rs
diff options
context:
space:
mode:
Diffstat (limited to 'macros/src/codegen/resources_struct.rs')
-rw-r--r--macros/src/codegen/resources_struct.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/macros/src/codegen/resources_struct.rs b/macros/src/codegen/resources_struct.rs
index 0248f199..07a60616 100644
--- a/macros/src/codegen/resources_struct.rs
+++ b/macros/src/codegen/resources_struct.rs
@@ -24,13 +24,17 @@ pub fn codegen(
let mut values = vec![];
let mut has_cfgs = false;
- for name in resources {
+ for (name, access) in resources {
let (res, expr) = app.resource(name).expect("UNREACHABLE");
let cfgs = &res.cfgs;
has_cfgs |= !cfgs.is_empty();
- let mut_ = res.mutability;
+ let mut_ = if access.is_exclusive() {
+ Some(quote!(mut))
+ } else {
+ None
+ };
let ty = &res.ty;
if ctxt.is_init() {