From 72f0cc505addf00d493b764418e4207f53434152 Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Sat, 23 Feb 2019 21:54:56 +0100 Subject: make cfail test actually fail --- macros/src/check.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'macros/src') diff --git a/macros/src/check.rs b/macros/src/check.rs index 464e280..ab86461 100644 --- a/macros/src/check.rs +++ b/macros/src/check.rs @@ -106,10 +106,16 @@ 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 (name, interrupt) in &app.interrupts { + let name = if let Some(ref binds) = interrupt.args.binds { + binds + } else { + name + }; + + 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", )); } -- cgit v1.2.3