don't wrap static references in a Static

This commit is contained in:
Jorge Aparicio 2017-07-23 20:59:35 -05:00
parent 6ea9cda663
commit f5a4d8e904
4 changed files with 10 additions and 19 deletions

View file

@ -3,16 +3,12 @@ set -ex
main() {
if [ $TARGET = x86_64-unknown-linux-gnu ]; then
cargo build
cargo test
cargo test --tests
return
fi
xargo build --target $TARGET
for ex in $(ls examples/*); do
ex=$(basename $ex)
ex=${ex%.*}
xargo build --target $TARGET --example $ex
done
xargo test --target $TARGET --examples
}
main

View file

@ -47,9 +47,9 @@ fn init_(_p: init::Peripherals, _r: init::Resources) {}
fn idle_(t: &mut Threshold, mut r: idle::Resources) -> ! {
loop {
**r.OWNED != **r.OWNED;
*r.OWNED != *r.OWNED;
if **r.OWNED {
if *r.OWNED {
if r.SHARED.claim(t, |shared, _| **shared) {
rtfm::wfi();
}

View file

@ -50,9 +50,9 @@ mod main {
pub fn idle(t: &mut Threshold, mut r: ::idle::Resources) -> ! {
loop {
**r.OWNED != **r.OWNED;
*r.OWNED != *r.OWNED;
if **r.OWNED {
if *r.OWNED {
if r.SHARED.claim(t, |shared, _| **shared) {
rtfm::wfi();
}

View file

@ -91,24 +91,19 @@ fn idle(
let ty = &resource.ty;
rfields.push(quote! {
pub #name: &'static mut ::#krate::Static<#ty>,
pub #name: &'static mut #ty,
});
rexprs.push(quote! {
#name: #krate::Static::ref_mut(
&mut #super_::#name,
),
#name: &mut #super_::#name,
});
} else {
rfields.push(quote! {
pub #name:
&'static mut ::#krate::Static<::#device::#name>,
pub #name: &'static mut ::#device::#name,
});
rexprs.push(quote! {
#name: ::#krate::Static::ref_mut(
&mut *::#device::#name.get(),
),
#name: &mut *::#device::#name.get(),
});
}
} else {