aboutsummaryrefslogtreecommitdiff
path: root/macros/src/check.rs
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2019-02-26 22:26:52 +0000
committerbors[bot] <bors[bot]@users.noreply.github.com>2019-02-26 22:26:52 +0000
commit6d1d84980a1f3212164dda5a890a90efd3c8583d (patch)
treeee9aa60d3c109b4583299cf6a71277507a4be241 /macros/src/check.rs
parentbbdc3221f6a76da5784ca0017a0f5ac1ca875597 (diff)
parent8eccef7d9cda8a60594b86d31b656a3680d1ca16 (diff)
Merge #158
158: implement RFC #128: #[interrupt(binds = ..)] r=korken89 a=japaric closes #128 r? @korken89 or @TeXitoi suggestions for tests are welcome! (2 of the 3 tests I added hit bugs in my implementation) Co-authored-by: Jorge Aparicio <jorge@japaric.io>
Diffstat (limited to 'macros/src/check.rs')
-rw-r--r--macros/src/check.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/macros/src/check.rs b/macros/src/check.rs
index 464e280..4adc2c1 100644
--- a/macros/src/check.rs
+++ b/macros/src/check.rs
@@ -106,10 +106,12 @@ pub fn app(app: &App) -> parse::Result<()> {
}
// Check that free interrupts are not being used
- for int in app.interrupts.keys() {
- if app.free_interrupts.contains_key(int) {
+ for (handler, interrupt) in &app.interrupts {
+ let name = interrupt.args.binds(handler);
+
+ if app.free_interrupts.contains_key(name) {
return Err(parse::Error::new(
- int.span(),
+ name.span(),
"free interrupts (`extern { .. }`) can't be used as interrupt handlers",
));
}