From a5795a8f45f73099d88817fc8eb6c265689b862e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Tj=C3=A4der?= Date: Wed, 3 Mar 2021 08:55:19 +0100 Subject: Remove keyword single for all tests --- tests/single.rs | 7 -- tests/tests.rs | 7 ++ ui/exception-invalid.rs | 7 ++ ui/exception-invalid.stderr | 5 ++ ui/extern-interrupt-not-enough.rs | 7 ++ ui/extern-interrupt-not-enough.stderr | 5 ++ ui/extern-interrupt-used.rs | 7 ++ ui/extern-interrupt-used.stderr | 5 ++ ui/local-cfg-task-local-err.rs | 69 +++++++++++++++ ui/local-cfg-task-local-err.stderr | 37 ++++++++ ui/local-err.rs | 83 ++++++++++++++++++ ui/local-err.stderr | 60 +++++++++++++ ui/locals-cfg.rs | 49 +++++++++++ ui/locals-cfg.stderr | 35 ++++++++ ui/resources-cfg.rs | 79 +++++++++++++++++ ui/resources-cfg.stderr | 125 +++++++++++++++++++++++++++ ui/single/exception-invalid.rs | 7 -- ui/single/exception-invalid.stderr | 5 -- ui/single/extern-interrupt-not-enough.rs | 7 -- ui/single/extern-interrupt-not-enough.stderr | 5 -- ui/single/extern-interrupt-used.rs | 7 -- ui/single/extern-interrupt-used.stderr | 5 -- ui/single/local-cfg-task-local-err.rs | 69 --------------- ui/single/local-cfg-task-local-err.stderr | 37 -------- ui/single/local-err.rs | 83 ------------------ ui/single/local-err.stderr | 60 ------------- ui/single/locals-cfg.rs | 49 ----------- ui/single/locals-cfg.stderr | 35 -------- ui/single/resources-cfg.rs | 79 ----------------- ui/single/resources-cfg.stderr | 125 --------------------------- ui/single/task-priority-too-high.rs | 38 -------- ui/single/task-priority-too-high.stderr | 7 -- ui/task-priority-too-high.rs | 38 ++++++++ ui/task-priority-too-high.stderr | 7 ++ 34 files changed, 625 insertions(+), 625 deletions(-) delete mode 100644 tests/single.rs create mode 100644 tests/tests.rs create mode 100644 ui/exception-invalid.rs create mode 100644 ui/exception-invalid.stderr create mode 100644 ui/extern-interrupt-not-enough.rs create mode 100644 ui/extern-interrupt-not-enough.stderr create mode 100644 ui/extern-interrupt-used.rs create mode 100644 ui/extern-interrupt-used.stderr create mode 100644 ui/local-cfg-task-local-err.rs create mode 100644 ui/local-cfg-task-local-err.stderr create mode 100644 ui/local-err.rs create mode 100644 ui/local-err.stderr create mode 100644 ui/locals-cfg.rs create mode 100644 ui/locals-cfg.stderr create mode 100644 ui/resources-cfg.rs create mode 100644 ui/resources-cfg.stderr delete mode 100644 ui/single/exception-invalid.rs delete mode 100644 ui/single/exception-invalid.stderr delete mode 100644 ui/single/extern-interrupt-not-enough.rs delete mode 100644 ui/single/extern-interrupt-not-enough.stderr delete mode 100644 ui/single/extern-interrupt-used.rs delete mode 100644 ui/single/extern-interrupt-used.stderr delete mode 100644 ui/single/local-cfg-task-local-err.rs delete mode 100644 ui/single/local-cfg-task-local-err.stderr delete mode 100644 ui/single/local-err.rs delete mode 100644 ui/single/local-err.stderr delete mode 100644 ui/single/locals-cfg.rs delete mode 100644 ui/single/locals-cfg.stderr delete mode 100644 ui/single/resources-cfg.rs delete mode 100644 ui/single/resources-cfg.stderr delete mode 100644 ui/single/task-priority-too-high.rs delete mode 100644 ui/single/task-priority-too-high.stderr create mode 100644 ui/task-priority-too-high.rs create mode 100644 ui/task-priority-too-high.stderr diff --git a/tests/single.rs b/tests/single.rs deleted file mode 100644 index b5d480c..0000000 --- a/tests/single.rs +++ /dev/null @@ -1,7 +0,0 @@ -use trybuild::TestCases; - -#[test] -fn ui() { - let t = TestCases::new(); - t.compile_fail("ui/single/*.rs"); -} diff --git a/tests/tests.rs b/tests/tests.rs new file mode 100644 index 0000000..b5d480c --- /dev/null +++ b/tests/tests.rs @@ -0,0 +1,7 @@ +use trybuild::TestCases; + +#[test] +fn ui() { + let t = TestCases::new(); + t.compile_fail("ui/single/*.rs"); +} diff --git a/ui/exception-invalid.rs b/ui/exception-invalid.rs new file mode 100644 index 0000000..04d9bc7 --- /dev/null +++ b/ui/exception-invalid.rs @@ -0,0 +1,7 @@ +#![no_main] + +#[rtic::app(device = lm3s6965)] +mod app { + #[task(binds = NonMaskableInt)] + fn nmi(_: nmi::Context) {} +} diff --git a/ui/exception-invalid.stderr b/ui/exception-invalid.stderr new file mode 100644 index 0000000..9021376 --- /dev/null +++ b/ui/exception-invalid.stderr @@ -0,0 +1,5 @@ +error: only exceptions with configurable priority can be used as hardware tasks + --> $DIR/exception-invalid.rs:6:8 + | +6 | fn nmi(_: nmi::Context) {} + | ^^^ diff --git a/ui/extern-interrupt-not-enough.rs b/ui/extern-interrupt-not-enough.rs new file mode 100644 index 0000000..f262403 --- /dev/null +++ b/ui/extern-interrupt-not-enough.rs @@ -0,0 +1,7 @@ +#![no_main] + +#[rtic::app(device = lm3s6965)] +mod app { + #[task] + fn a(_: a::Context) {} +} diff --git a/ui/extern-interrupt-not-enough.stderr b/ui/extern-interrupt-not-enough.stderr new file mode 100644 index 0000000..14f8fe9 --- /dev/null +++ b/ui/extern-interrupt-not-enough.stderr @@ -0,0 +1,5 @@ +error: not enough interrupts to dispatch all software tasks (need: 1; given: 0) + --> $DIR/extern-interrupt-not-enough.rs:6:8 + | +6 | fn a(_: a::Context) {} + | ^ diff --git a/ui/extern-interrupt-used.rs b/ui/extern-interrupt-used.rs new file mode 100644 index 0000000..240e736 --- /dev/null +++ b/ui/extern-interrupt-used.rs @@ -0,0 +1,7 @@ +#![no_main] + +#[rtic::app(device = lm3s6965, dispatchers = [UART0])] +mod app { + #[task(binds = UART0)] + fn a(_: a::Context) {} +} diff --git a/ui/extern-interrupt-used.stderr b/ui/extern-interrupt-used.stderr new file mode 100644 index 0000000..b4d8d16 --- /dev/null +++ b/ui/extern-interrupt-used.stderr @@ -0,0 +1,5 @@ +error: dispatcher interrupts can't be used as hardware tasks + --> $DIR/extern-interrupt-used.rs:5:20 + | +5 | #[task(binds = UART0)] + | ^^^^^ diff --git a/ui/local-cfg-task-local-err.rs b/ui/local-cfg-task-local-err.rs new file mode 100644 index 0000000..d4752ed --- /dev/null +++ b/ui/local-cfg-task-local-err.rs @@ -0,0 +1,69 @@ +//! examples/local-cfg-task-local.rs + +#![deny(unsafe_code)] +//#![deny(warnings)] +#![no_main] +#![no_std] + +use cortex_m_semihosting::debug; +use cortex_m_semihosting::hprintln; +use lm3s6965::Interrupt; +use panic_semihosting as _; + +#[rtic::app(device = lm3s6965)] +mod app { + #[resources] + struct Resources { + // A local (move), early resource + #[cfg(feature = "feature_l1")] + #[task_local] + #[init(1)] + l1: u32, + + // A local (move), late resource + #[task_local] + l2: u32, + } + + #[init] + fn init(_: init::Context) -> (init::LateResources, init::Monotonics) { + rtic::pend(Interrupt::UART0); + rtic::pend(Interrupt::UART1); + ( + init::LateResources { + #[cfg(feature = "feature_l2")] + l2: 2, + #[cfg(not(feature = "feature_l2"))] + l2: 5, + }, + init::Monotonics(), + ) + } + + // l1 ok (task_local) + #[idle(resources =[#[cfg(feature = "feature_l1")]l1])] + fn idle(_cx: idle::Context) -> ! { + #[cfg(feature = "feature_l1")] + hprintln!("IDLE:l1 = {}", _cx.resources.l1).unwrap(); + debug::exit(debug::EXIT_SUCCESS); + loop {} + } + + // l2 ok (task_local) + #[task(priority = 1, binds = UART0, resources = [ + #[cfg(feature = "feature_l2")]l2, + ])] + fn uart0(_cx: uart0::Context) { + #[cfg(feature = "feature_l2")] + hprintln!("UART0:l2 = {}", _cx.resources.l2).unwrap(); + } + + // l2 error, conflicting with uart0 for l2 (task_local) + #[task(priority = 1, binds = UART1, resources = [ + #[cfg(not(feature = "feature_l2"))]l2 + ])] + fn uart1(_cx: uart1::Context) { + #[cfg(not(feature = "feature_l2"))] + hprintln!("UART0:l2 = {}", _cx.resources.l2).unwrap(); + } +} diff --git a/ui/local-cfg-task-local-err.stderr b/ui/local-cfg-task-local-err.stderr new file mode 100644 index 0000000..73dfaeb --- /dev/null +++ b/ui/local-cfg-task-local-err.stderr @@ -0,0 +1,37 @@ +error: task local resource "l2" is used by multiple tasks + --> $DIR/local-cfg-task-local-err.rs:25:9 + | +25 | l2: u32, + | ^^ + +error: task local resource "l2" is used by task "uart0" with priority 1 + --> $DIR/local-cfg-task-local-err.rs:54:39 + | +54 | #[cfg(feature = "feature_l2")]l2, + | ^^ + +error: task local resource "l2" is used by task "uart1" with priority 1 + --> $DIR/local-cfg-task-local-err.rs:63:44 + | +63 | #[cfg(not(feature = "feature_l2"))]l2 + | ^^ + +warning: unused import: `cortex_m_semihosting::debug` + --> $DIR/local-cfg-task-local-err.rs:8:5 + | +8 | use cortex_m_semihosting::debug; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | + = note: `#[warn(unused_imports)]` on by default + +warning: unused import: `cortex_m_semihosting::hprintln` + --> $DIR/local-cfg-task-local-err.rs:9:5 + | +9 | use cortex_m_semihosting::hprintln; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +warning: unused import: `lm3s6965::Interrupt` + --> $DIR/local-cfg-task-local-err.rs:10:5 + | +10 | use lm3s6965::Interrupt; + | ^^^^^^^^^^^^^^^^^^^ diff --git a/ui/local-err.rs b/ui/local-err.rs new file mode 100644 index 0000000..7ebfc06 --- /dev/null +++ b/ui/local-err.rs @@ -0,0 +1,83 @@ +//! examples/local_err.rs + +#![deny(unsafe_code)] +#![deny(warnings)] +#![no_main] +#![no_std] + +// errors here, since we cannot bail compilation or generate stubs +// run cargo expand, then you see the root of the problem... +use cortex_m_semihosting::{debug, hprintln}; +use lm3s6965::Interrupt; +use panic_semihosting as _; + +#[rtic::app(device = lm3s6965)] +mod app { + #[resources] + struct Resources { + // An early resource + #[init(0)] + shared: u32, + + // A local (move), early resource + #[task_local] + #[init(1)] + l1: u32, + + // An exclusive, early resource + #[lock_free] + #[init(1)] + e1: u32, + + // A local (move), late resource + #[task_local] + l2: u32, + + // An exclusive, late resource + #[lock_free] + e2: u32, + } + + #[init] + fn init(_: init::Context) -> (init::LateResources, init::Monotonics) { + rtic::pend(Interrupt::UART0); + rtic::pend(Interrupt::UART1); + (init::LateResources { e2: 2, l2: 2 }, init::Monotonics()) + } + + // `shared` cannot be accessed from this context + // l1 ok + // l2 rejeceted (not task_local) + // e2 ok + #[idle(resources =[l1, l2, e2])] + fn idle(cx: idle::Context) -> ! { + hprintln!("IDLE:l1 = {}", cx.resources.l1).unwrap(); + hprintln!("IDLE:e2 = {}", cx.resources.e2).unwrap(); + debug::exit(debug::EXIT_SUCCESS); + loop {} + } + + // `shared` can be accessed from this context + // l2 rejected (not task_local) + // e1 rejected (not lock_free) + #[task(priority = 1, binds = UART0, resources = [shared, l2, e1])] + fn uart0(cx: uart0::Context) { + let shared: &mut u32 = cx.resources.shared; + *shared += 1; + *cx.resources.e1 += 10; + hprintln!("UART0: shared = {}", shared).unwrap(); + hprintln!("UART0:l2 = {}", cx.resources.l2).unwrap(); + hprintln!("UART0:e1 = {}", cx.resources.e1).unwrap(); + } + + // l2 rejected (not task_local) + #[task(priority = 2, binds = UART1, resources = [shared, l2, e1])] + fn uart1(cx: uart1::Context) { + let shared: &mut u32 = cx.resources.shared; + *shared += 1; + + hprintln!("UART1: shared = {}", shared).unwrap(); + hprintln!("UART1:l2 = {}", cx.resources.l2).unwrap(); + hprintln!("UART1:e1 = {}", cx.resources.e1).unwrap(); + } +} diff --git a/ui/local-err.stderr b/ui/local-err.stderr new file mode 100644 index 0000000..88369d8 --- /dev/null +++ b/ui/local-err.stderr @@ -0,0 +1,60 @@ +error: task local resource "l2" is used by multiple tasks + --> $DIR/local-err.rs:34:9 + | +34 | l2: u32, + | ^^ + +error: task local resource "l2" is used by task "idle" with priority 0 + --> $DIR/local-err.rs:52:28 + | +52 | #[idle(resources =[l1, l2, e2])] + | ^^ + +error: task local resource "l2" is used by task "uart0" with priority 1 + --> $DIR/local-err.rs:63:62 + | +63 | #[task(priority = 1, binds = UART0, resources = [shared, l2, e1])] + | ^^ + +error: task local resource "l2" is used by task "uart1" with priority 2 + --> $DIR/local-err.rs:74:62 + | +74 | #[task(priority = 2, binds = UART1, resources = [shared, l2, e1])] + | ^^ + +error: Lock free resource "e1" is used by tasks at different priorities + --> $DIR/local-err.rs:30:9 + | +30 | e1: u32, + | ^^ + +error: Resource "e1" is declared lock free but used by tasks at different priorities + --> $DIR/local-err.rs:63:66 + | +63 | #[task(priority = 1, binds = UART0, resources = [shared, l2, e1])] + | ^^ + +error: Resource "e1" is declared lock free but used by tasks at different priorities + --> $DIR/local-err.rs:74:66 + | +74 | #[task(priority = 2, binds = UART1, resources = [shared, l2, e1])] + | ^^ + +error: unused imports: `debug`, `hprintln` + --> $DIR/local-err.rs:10:28 + | +10 | use cortex_m_semihosting::{debug, hprintln}; + | ^^^^^ ^^^^^^^^ + | +note: the lint level is defined here + --> $DIR/local-err.rs:4:9 + | +4 | #![deny(warnings)] + | ^^^^^^^^ + = note: `#[deny(unused_imports)]` implied by `#[deny(warnings)]` + +error: unused import: `lm3s6965::Interrupt` + --> $DIR/local-err.rs:11:5 + | +11 | use lm3s6965::Interrupt; + | ^^^^^^^^^^^^^^^^^^^ diff --git a/ui/locals-cfg.rs b/ui/locals-cfg.rs new file mode 100644 index 0000000..72e2aca --- /dev/null +++ b/ui/locals-cfg.rs @@ -0,0 +1,49 @@ +#![no_main] +use panic_halt as _; + +#[rtic::app(device = lm3s6965, dispatchers = [SSI0])] +mod app { + #[init] + fn init(_: init::Context) -> (init::LateResources, init::Monotonics) { + #[cfg(never)] + static mut FOO: u32 = 0; + + FOO; + + (init::LateResources {}, init::Monotonics()) + } + + #[idle] + fn idle(_: idle::Context) -> ! { + #[cfg(never)] + static mut FOO: u32 = 0; + + FOO; + + loop {} + } + + #[task(binds = SVCall)] + fn svcall(_: svcall::Context) { + #[cfg(never)] + static mut FOO: u32 = 0; + + FOO; + } + + #[task(binds = UART0)] + fn uart0(_: uart0::Context) { + #[cfg(never)] + static mut FOO: u32 = 0; + + FOO; + } + + #[task] + fn foo(_: foo::Context) { + #[cfg(never)] + static mut FOO: u32 = 0; + + FOO; + } +} diff --git a/ui/locals-cfg.stderr b/ui/locals-cfg.stderr new file mode 100644 index 0000000..200cea2 --- /dev/null +++ b/ui/locals-cfg.stderr @@ -0,0 +1,35 @@ +error[E0425]: cannot find value `FOO` in this scope + --> $DIR/locals-cfg.rs:11:9 + | +11 | FOO; + | ^^^ not found in this scope + +error[E0425]: cannot find value `FOO` in this scope + --> $DIR/locals-cfg.rs:21:9 + | +21 | FOO; + | ^^^ not found in this scope + +error[E0425]: cannot find value `FOO` in this scope + --> $DIR/locals-cfg.rs:31:9 + | +31 | FOO; + | ^^^ not found in this scope + +error[E0425]: cannot find value `FOO` in this scope + --> $DIR/locals-cfg.rs:39:9 + | +39 | FOO; + | ^^^ not found in this scope + +error[E0425]: cannot find value `FOO` in this scope + --> $DIR/locals-cfg.rs:47:9 + | +47 | FOO; + | ^^^ not found in this scope + +error: duplicate lang item in crate `panic_halt` (which `$CRATE` depends on): `panic_impl`. + | + = note: the lang item is first defined in crate `std` (which `$CRATE` depends on) + = note: first definition in `std` loaded from /usr/share/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6f77337c1826707d.rlib + = note: second definition in `panic_halt` loaded from $DIR/target/tests/target/x86_64-unknown-linux-gnu/debug/deps/libpanic_halt-ad4cf7fac73711f1.rmeta diff --git a/ui/resources-cfg.rs b/ui/resources-cfg.rs new file mode 100644 index 0000000..c11d2ba --- /dev/null +++ b/ui/resources-cfg.rs @@ -0,0 +1,79 @@ +#![no_main] +use panic_halt as _; + +#[rtic::app(device = lm3s6965)] +mod app { + #[resources] + struct Resources { + #[cfg(never)] + #[init(0)] + o1: u32, // init + + #[cfg(never)] + #[init(0)] + o2: u32, // idle + + #[cfg(never)] + #[init(0)] + o3: u32, // EXTI0 + + #[cfg(never)] + #[init(0)] + o4: u32, // idle + + #[cfg(never)] + #[init(0)] + o5: u32, // EXTI1 + + #[cfg(never)] + #[init(0)] + o6: u32, // init + + #[cfg(never)] + #[init(0)] + s1: u32, // idle & EXTI0 + + #[cfg(never)] + #[init(0)] + s2: u32, // EXTI0 & EXTI1 + + #[cfg(never)] + #[init(0)] + s3: u32, + } + + #[init(resources = [o1, o4, o5, o6, s3])] + fn init(c: init::Context) -> (init::LateResources, init::Monotonics) { + c.resources.o1; + c.resources.o4; + c.resources.o5; + c.resources.o6; + c.resources.s3; + + (init::LateResources {}, init::Monotonics()) + } + + #[idle(resources = [o2, &o4, s1, &s3])] + fn idle(c: idle::Context) -> ! { + c.resources.o2; + c.resources.o4; + c.resources.s1; + c.resources.s3; + + loop {} + } + + #[task(binds = UART0, resources = [o3, s1, s2, &s3])] + fn uart0(c: uart0::Context) { + c.resources.o3; + c.resources.s1; + c.resources.s2; + c.resources.s3; + } + + #[task(binds = UART1, resources = [s2, &o5])] + fn uart1(c: uart1::Context) { + c.resources.s2; + c.resources.o5; + } +} diff --git a/ui/resources-cfg.stderr b/ui/resources-cfg.stderr new file mode 100644 index 0000000..3bbbd2d --- /dev/null +++ b/ui/resources-cfg.stderr @@ -0,0 +1,125 @@ +error: duplicate lang item in crate `panic_halt` (which `$CRATE` depends on): `panic_impl`. + | + = note: the lang item is first defined in crate `std` (which `$CRATE` depends on) + = note: first definition in `std` loaded from /usr/share/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6f77337c1826707d.rlib + = note: second definition in `panic_halt` loaded from $DIR/target/tests/target/x86_64-unknown-linux-gnu/debug/deps/libpanic_halt-ad4cf7fac73711f1.rmeta + +error[E0609]: no field `o1` on type `__rtic_internal_initResources<'_>` + --> $DIR/resources-cfg.rs:47:21 + | +47 | c.resources.o1; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `o4` on type `__rtic_internal_initResources<'_>` + --> $DIR/resources-cfg.rs:48:21 + | +48 | c.resources.o4; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `o5` on type `__rtic_internal_initResources<'_>` + --> $DIR/resources-cfg.rs:49:21 + | +49 | c.resources.o5; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `o6` on type `__rtic_internal_initResources<'_>` + --> $DIR/resources-cfg.rs:50:21 + | +50 | c.resources.o6; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `s3` on type `__rtic_internal_initResources<'_>` + --> $DIR/resources-cfg.rs:51:21 + | +51 | c.resources.s3; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `o2` on type `__rtic_internal_idleResources<'_>` + --> $DIR/resources-cfg.rs:58:21 + | +58 | c.resources.o2; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `o4` on type `__rtic_internal_idleResources<'_>` + --> $DIR/resources-cfg.rs:59:21 + | +59 | c.resources.o4; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `s1` on type `__rtic_internal_idleResources<'_>` + --> $DIR/resources-cfg.rs:60:21 + | +60 | c.resources.s1; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `s3` on type `__rtic_internal_idleResources<'_>` + --> $DIR/resources-cfg.rs:61:21 + | +61 | c.resources.s3; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `o3` on type `__rtic_internal_uart0Resources<'_>` + --> $DIR/resources-cfg.rs:68:21 + | +68 | c.resources.o3; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `s1` on type `__rtic_internal_uart0Resources<'_>` + --> $DIR/resources-cfg.rs:69:21 + | +69 | c.resources.s1; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `s2` on type `__rtic_internal_uart0Resources<'_>` + --> $DIR/resources-cfg.rs:70:21 + | +70 | c.resources.s2; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `s3` on type `__rtic_internal_uart0Resources<'_>` + --> $DIR/resources-cfg.rs:71:21 + | +71 | c.resources.s3; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `s2` on type `__rtic_internal_uart1Resources<'_>` + --> $DIR/resources-cfg.rs:76:21 + | +76 | c.resources.s2; + | ^^ unknown field + | + = note: available fields are: `__marker__` + +error[E0609]: no field `o5` on type `__rtic_internal_uart1Resources<'_>` + --> $DIR/resources-cfg.rs:77:21 + | +77 | c.resources.o5; + | ^^ unknown field + | + = note: available fields are: `__marker__` diff --git a/ui/single/exception-invalid.rs b/ui/single/exception-invalid.rs deleted file mode 100644 index 04d9bc7..0000000 --- a/ui/single/exception-invalid.rs +++ /dev/null @@ -1,7 +0,0 @@ -#![no_main] - -#[rtic::app(device = lm3s6965)] -mod app { - #[task(binds = NonMaskableInt)] - fn nmi(_: nmi::Context) {} -} diff --git a/ui/single/exception-invalid.stderr b/ui/single/exception-invalid.stderr deleted file mode 100644 index 9021376..0000000 --- a/ui/single/exception-invalid.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: only exceptions with configurable priority can be used as hardware tasks - --> $DIR/exception-invalid.rs:6:8 - | -6 | fn nmi(_: nmi::Context) {} - | ^^^ diff --git a/ui/single/extern-interrupt-not-enough.rs b/ui/single/extern-interrupt-not-enough.rs deleted file mode 100644 index f262403..0000000 --- a/ui/single/extern-interrupt-not-enough.rs +++ /dev/null @@ -1,7 +0,0 @@ -#![no_main] - -#[rtic::app(device = lm3s6965)] -mod app { - #[task] - fn a(_: a::Context) {} -} diff --git a/ui/single/extern-interrupt-not-enough.stderr b/ui/single/extern-interrupt-not-enough.stderr deleted file mode 100644 index 14f8fe9..0000000 --- a/ui/single/extern-interrupt-not-enough.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: not enough interrupts to dispatch all software tasks (need: 1; given: 0) - --> $DIR/extern-interrupt-not-enough.rs:6:8 - | -6 | fn a(_: a::Context) {} - | ^ diff --git a/ui/single/extern-interrupt-used.rs b/ui/single/extern-interrupt-used.rs deleted file mode 100644 index 240e736..0000000 --- a/ui/single/extern-interrupt-used.rs +++ /dev/null @@ -1,7 +0,0 @@ -#![no_main] - -#[rtic::app(device = lm3s6965, dispatchers = [UART0])] -mod app { - #[task(binds = UART0)] - fn a(_: a::Context) {} -} diff --git a/ui/single/extern-interrupt-used.stderr b/ui/single/extern-interrupt-used.stderr deleted file mode 100644 index b4d8d16..0000000 --- a/ui/single/extern-interrupt-used.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: dispatcher interrupts can't be used as hardware tasks - --> $DIR/extern-interrupt-used.rs:5:20 - | -5 | #[task(binds = UART0)] - | ^^^^^ diff --git a/ui/single/local-cfg-task-local-err.rs b/ui/single/local-cfg-task-local-err.rs deleted file mode 100644 index d4752ed..0000000 --- a/ui/single/local-cfg-task-local-err.rs +++ /dev/null @@ -1,69 +0,0 @@ -//! examples/local-cfg-task-local.rs - -#![deny(unsafe_code)] -//#![deny(warnings)] -#![no_main] -#![no_std] - -use cortex_m_semihosting::debug; -use cortex_m_semihosting::hprintln; -use lm3s6965::Interrupt; -use panic_semihosting as _; - -#[rtic::app(device = lm3s6965)] -mod app { - #[resources] - struct Resources { - // A local (move), early resource - #[cfg(feature = "feature_l1")] - #[task_local] - #[init(1)] - l1: u32, - - // A local (move), late resource - #[task_local] - l2: u32, - } - - #[init] - fn init(_: init::Context) -> (init::LateResources, init::Monotonics) { - rtic::pend(Interrupt::UART0); - rtic::pend(Interrupt::UART1); - ( - init::LateResources { - #[cfg(feature = "feature_l2")] - l2: 2, - #[cfg(not(feature = "feature_l2"))] - l2: 5, - }, - init::Monotonics(), - ) - } - - // l1 ok (task_local) - #[idle(resources =[#[cfg(feature = "feature_l1")]l1])] - fn idle(_cx: idle::Context) -> ! { - #[cfg(feature = "feature_l1")] - hprintln!("IDLE:l1 = {}", _cx.resources.l1).unwrap(); - debug::exit(debug::EXIT_SUCCESS); - loop {} - } - - // l2 ok (task_local) - #[task(priority = 1, binds = UART0, resources = [ - #[cfg(feature = "feature_l2")]l2, - ])] - fn uart0(_cx: uart0::Context) { - #[cfg(feature = "feature_l2")] - hprintln!("UART0:l2 = {}", _cx.resources.l2).unwrap(); - } - - // l2 error, conflicting with uart0 for l2 (task_local) - #[task(priority = 1, binds = UART1, resources = [ - #[cfg(not(feature = "feature_l2"))]l2 - ])] - fn uart1(_cx: uart1::Context) { - #[cfg(not(feature = "feature_l2"))] - hprintln!("UART0:l2 = {}", _cx.resources.l2).unwrap(); - } -} diff --git a/ui/single/local-cfg-task-local-err.stderr b/ui/single/local-cfg-task-local-err.stderr deleted file mode 100644 index 73dfaeb..0000000 --- a/ui/single/local-cfg-task-local-err.stderr +++ /dev/null @@ -1,37 +0,0 @@ -error: task local resource "l2" is used by multiple tasks - --> $DIR/local-cfg-task-local-err.rs:25:9 - | -25 | l2: u32, - | ^^ - -error: task local resource "l2" is used by task "uart0" with priority 1 - --> $DIR/local-cfg-task-local-err.rs:54:39 - | -54 | #[cfg(feature = "feature_l2")]l2, - | ^^ - -error: task local resource "l2" is used by task "uart1" with priority 1 - --> $DIR/local-cfg-task-local-err.rs:63:44 - | -63 | #[cfg(not(feature = "feature_l2"))]l2 - | ^^ - -warning: unused import: `cortex_m_semihosting::debug` - --> $DIR/local-cfg-task-local-err.rs:8:5 - | -8 | use cortex_m_semihosting::debug; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - | - = note: `#[warn(unused_imports)]` on by default - -warning: unused import: `cortex_m_semihosting::hprintln` - --> $DIR/local-cfg-task-local-err.rs:9:5 - | -9 | use cortex_m_semihosting::hprintln; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -warning: unused import: `lm3s6965::Interrupt` - --> $DIR/local-cfg-task-local-err.rs:10:5 - | -10 | use lm3s6965::Interrupt; - | ^^^^^^^^^^^^^^^^^^^ diff --git a/ui/single/local-err.rs b/ui/single/local-err.rs deleted file mode 100644 index 7ebfc06..0000000 --- a/ui/single/local-err.rs +++ /dev/null @@ -1,83 +0,0 @@ -//! examples/local_err.rs - -#![deny(unsafe_code)] -#![deny(warnings)] -#![no_main] -#![no_std] - -// errors here, since we cannot bail compilation or generate stubs -// run cargo expand, then you see the root of the problem... -use cortex_m_semihosting::{debug, hprintln}; -use lm3s6965::Interrupt; -use panic_semihosting as _; - -#[rtic::app(device = lm3s6965)] -mod app { - #[resources] - struct Resources { - // An early resource - #[init(0)] - shared: u32, - - // A local (move), early resource - #[task_local] - #[init(1)] - l1: u32, - - // An exclusive, early resource - #[lock_free] - #[init(1)] - e1: u32, - - // A local (move), late resource - #[task_local] - l2: u32, - - // An exclusive, late resource - #[lock_free] - e2: u32, - } - - #[init] - fn init(_: init::Context) -> (init::LateResources, init::Monotonics) { - rtic::pend(Interrupt::UART0); - rtic::pend(Interrupt::UART1); - (init::LateResources { e2: 2, l2: 2 }, init::Monotonics()) - } - - // `shared` cannot be accessed from this context - // l1 ok - // l2 rejeceted (not task_local) - // e2 ok - #[idle(resources =[l1, l2, e2])] - fn idle(cx: idle::Context) -> ! { - hprintln!("IDLE:l1 = {}", cx.resources.l1).unwrap(); - hprintln!("IDLE:e2 = {}", cx.resources.e2).unwrap(); - debug::exit(debug::EXIT_SUCCESS); - loop {} - } - - // `shared` can be accessed from this context - // l2 rejected (not task_local) - // e1 rejected (not lock_free) - #[task(priority = 1, binds = UART0, resources = [shared, l2, e1])] - fn uart0(cx: uart0::Context) { - let shared: &mut u32 = cx.resources.shared; - *shared += 1; - *cx.resources.e1 += 10; - hprintln!("UART0: shared = {}", shared).unwrap(); - hprintln!("UART0:l2 = {}", cx.resources.l2).unwrap(); - hprintln!("UART0:e1 = {}", cx.resources.e1).unwrap(); - } - - // l2 rejected (not task_local) - #[task(priority = 2, binds = UART1, resources = [shared, l2, e1])] - fn uart1(cx: uart1::Context) { - let shared: &mut u32 = cx.resources.shared; - *shared += 1; - - hprintln!("UART1: shared = {}", shared).unwrap(); - hprintln!("UART1:l2 = {}", cx.resources.l2).unwrap(); - hprintln!("UART1:e1 = {}", cx.resources.e1).unwrap(); - } -} diff --git a/ui/single/local-err.stderr b/ui/single/local-err.stderr deleted file mode 100644 index 88369d8..0000000 --- a/ui/single/local-err.stderr +++ /dev/null @@ -1,60 +0,0 @@ -error: task local resource "l2" is used by multiple tasks - --> $DIR/local-err.rs:34:9 - | -34 | l2: u32, - | ^^ - -error: task local resource "l2" is used by task "idle" with priority 0 - --> $DIR/local-err.rs:52:28 - | -52 | #[idle(resources =[l1, l2, e2])] - | ^^ - -error: task local resource "l2" is used by task "uart0" with priority 1 - --> $DIR/local-err.rs:63:62 - | -63 | #[task(priority = 1, binds = UART0, resources = [shared, l2, e1])] - | ^^ - -error: task local resource "l2" is used by task "uart1" with priority 2 - --> $DIR/local-err.rs:74:62 - | -74 | #[task(priority = 2, binds = UART1, resources = [shared, l2, e1])] - | ^^ - -error: Lock free resource "e1" is used by tasks at different priorities - --> $DIR/local-err.rs:30:9 - | -30 | e1: u32, - | ^^ - -error: Resource "e1" is declared lock free but used by tasks at different priorities - --> $DIR/local-err.rs:63:66 - | -63 | #[task(priority = 1, binds = UART0, resources = [shared, l2, e1])] - | ^^ - -error: Resource "e1" is declared lock free but used by tasks at different priorities - --> $DIR/local-err.rs:74:66 - | -74 | #[task(priority = 2, binds = UART1, resources = [shared, l2, e1])] - | ^^ - -error: unused imports: `debug`, `hprintln` - --> $DIR/local-err.rs:10:28 - | -10 | use cortex_m_semihosting::{debug, hprintln}; - | ^^^^^ ^^^^^^^^ - | -note: the lint level is defined here - --> $DIR/local-err.rs:4:9 - | -4 | #![deny(warnings)] - | ^^^^^^^^ - = note: `#[deny(unused_imports)]` implied by `#[deny(warnings)]` - -error: unused import: `lm3s6965::Interrupt` - --> $DIR/local-err.rs:11:5 - | -11 | use lm3s6965::Interrupt; - | ^^^^^^^^^^^^^^^^^^^ diff --git a/ui/single/locals-cfg.rs b/ui/single/locals-cfg.rs deleted file mode 100644 index 72e2aca..0000000 --- a/ui/single/locals-cfg.rs +++ /dev/null @@ -1,49 +0,0 @@ -#![no_main] -use panic_halt as _; - -#[rtic::app(device = lm3s6965, dispatchers = [SSI0])] -mod app { - #[init] - fn init(_: init::Context) -> (init::LateResources, init::Monotonics) { - #[cfg(never)] - static mut FOO: u32 = 0; - - FOO; - - (init::LateResources {}, init::Monotonics()) - } - - #[idle] - fn idle(_: idle::Context) -> ! { - #[cfg(never)] - static mut FOO: u32 = 0; - - FOO; - - loop {} - } - - #[task(binds = SVCall)] - fn svcall(_: svcall::Context) { - #[cfg(never)] - static mut FOO: u32 = 0; - - FOO; - } - - #[task(binds = UART0)] - fn uart0(_: uart0::Context) { - #[cfg(never)] - static mut FOO: u32 = 0; - - FOO; - } - - #[task] - fn foo(_: foo::Context) { - #[cfg(never)] - static mut FOO: u32 = 0; - - FOO; - } -} diff --git a/ui/single/locals-cfg.stderr b/ui/single/locals-cfg.stderr deleted file mode 100644 index 200cea2..0000000 --- a/ui/single/locals-cfg.stderr +++ /dev/null @@ -1,35 +0,0 @@ -error[E0425]: cannot find value `FOO` in this scope - --> $DIR/locals-cfg.rs:11:9 - | -11 | FOO; - | ^^^ not found in this scope - -error[E0425]: cannot find value `FOO` in this scope - --> $DIR/locals-cfg.rs:21:9 - | -21 | FOO; - | ^^^ not found in this scope - -error[E0425]: cannot find value `FOO` in this scope - --> $DIR/locals-cfg.rs:31:9 - | -31 | FOO; - | ^^^ not found in this scope - -error[E0425]: cannot find value `FOO` in this scope - --> $DIR/locals-cfg.rs:39:9 - | -39 | FOO; - | ^^^ not found in this scope - -error[E0425]: cannot find value `FOO` in this scope - --> $DIR/locals-cfg.rs:47:9 - | -47 | FOO; - | ^^^ not found in this scope - -error: duplicate lang item in crate `panic_halt` (which `$CRATE` depends on): `panic_impl`. - | - = note: the lang item is first defined in crate `std` (which `$CRATE` depends on) - = note: first definition in `std` loaded from /usr/share/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6f77337c1826707d.rlib - = note: second definition in `panic_halt` loaded from $DIR/target/tests/target/x86_64-unknown-linux-gnu/debug/deps/libpanic_halt-ad4cf7fac73711f1.rmeta diff --git a/ui/single/resources-cfg.rs b/ui/single/resources-cfg.rs deleted file mode 100644 index c11d2ba..0000000 --- a/ui/single/resources-cfg.rs +++ /dev/null @@ -1,79 +0,0 @@ -#![no_main] -use panic_halt as _; - -#[rtic::app(device = lm3s6965)] -mod app { - #[resources] - struct Resources { - #[cfg(never)] - #[init(0)] - o1: u32, // init - - #[cfg(never)] - #[init(0)] - o2: u32, // idle - - #[cfg(never)] - #[init(0)] - o3: u32, // EXTI0 - - #[cfg(never)] - #[init(0)] - o4: u32, // idle - - #[cfg(never)] - #[init(0)] - o5: u32, // EXTI1 - - #[cfg(never)] - #[init(0)] - o6: u32, // init - - #[cfg(never)] - #[init(0)] - s1: u32, // idle & EXTI0 - - #[cfg(never)] - #[init(0)] - s2: u32, // EXTI0 & EXTI1 - - #[cfg(never)] - #[init(0)] - s3: u32, - } - - #[init(resources = [o1, o4, o5, o6, s3])] - fn init(c: init::Context) -> (init::LateResources, init::Monotonics) { - c.resources.o1; - c.resources.o4; - c.resources.o5; - c.resources.o6; - c.resources.s3; - - (init::LateResources {}, init::Monotonics()) - } - - #[idle(resources = [o2, &o4, s1, &s3])] - fn idle(c: idle::Context) -> ! { - c.resources.o2; - c.resources.o4; - c.resources.s1; - c.resources.s3; - - loop {} - } - - #[task(binds = UART0, resources = [o3, s1, s2, &s3])] - fn uart0(c: uart0::Context) { - c.resources.o3; - c.resources.s1; - c.resources.s2; - c.resources.s3; - } - - #[task(binds = UART1, resources = [s2, &o5])] - fn uart1(c: uart1::Context) { - c.resources.s2; - c.resources.o5; - } -} diff --git a/ui/single/resources-cfg.stderr b/ui/single/resources-cfg.stderr deleted file mode 100644 index 3bbbd2d..0000000 --- a/ui/single/resources-cfg.stderr +++ /dev/null @@ -1,125 +0,0 @@ -error: duplicate lang item in crate `panic_halt` (which `$CRATE` depends on): `panic_impl`. - | - = note: the lang item is first defined in crate `std` (which `$CRATE` depends on) - = note: first definition in `std` loaded from /usr/share/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6f77337c1826707d.rlib - = note: second definition in `panic_halt` loaded from $DIR/target/tests/target/x86_64-unknown-linux-gnu/debug/deps/libpanic_halt-ad4cf7fac73711f1.rmeta - -error[E0609]: no field `o1` on type `__rtic_internal_initResources<'_>` - --> $DIR/resources-cfg.rs:47:21 - | -47 | c.resources.o1; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `o4` on type `__rtic_internal_initResources<'_>` - --> $DIR/resources-cfg.rs:48:21 - | -48 | c.resources.o4; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `o5` on type `__rtic_internal_initResources<'_>` - --> $DIR/resources-cfg.rs:49:21 - | -49 | c.resources.o5; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `o6` on type `__rtic_internal_initResources<'_>` - --> $DIR/resources-cfg.rs:50:21 - | -50 | c.resources.o6; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `s3` on type `__rtic_internal_initResources<'_>` - --> $DIR/resources-cfg.rs:51:21 - | -51 | c.resources.s3; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `o2` on type `__rtic_internal_idleResources<'_>` - --> $DIR/resources-cfg.rs:58:21 - | -58 | c.resources.o2; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `o4` on type `__rtic_internal_idleResources<'_>` - --> $DIR/resources-cfg.rs:59:21 - | -59 | c.resources.o4; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `s1` on type `__rtic_internal_idleResources<'_>` - --> $DIR/resources-cfg.rs:60:21 - | -60 | c.resources.s1; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `s3` on type `__rtic_internal_idleResources<'_>` - --> $DIR/resources-cfg.rs:61:21 - | -61 | c.resources.s3; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `o3` on type `__rtic_internal_uart0Resources<'_>` - --> $DIR/resources-cfg.rs:68:21 - | -68 | c.resources.o3; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `s1` on type `__rtic_internal_uart0Resources<'_>` - --> $DIR/resources-cfg.rs:69:21 - | -69 | c.resources.s1; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `s2` on type `__rtic_internal_uart0Resources<'_>` - --> $DIR/resources-cfg.rs:70:21 - | -70 | c.resources.s2; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `s3` on type `__rtic_internal_uart0Resources<'_>` - --> $DIR/resources-cfg.rs:71:21 - | -71 | c.resources.s3; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `s2` on type `__rtic_internal_uart1Resources<'_>` - --> $DIR/resources-cfg.rs:76:21 - | -76 | c.resources.s2; - | ^^ unknown field - | - = note: available fields are: `__marker__` - -error[E0609]: no field `o5` on type `__rtic_internal_uart1Resources<'_>` - --> $DIR/resources-cfg.rs:77:21 - | -77 | c.resources.o5; - | ^^ unknown field - | - = note: available fields are: `__marker__` diff --git a/ui/single/task-priority-too-high.rs b/ui/single/task-priority-too-high.rs deleted file mode 100644 index b1cbfa9..0000000 --- a/ui/single/task-priority-too-high.rs +++ /dev/null @@ -1,38 +0,0 @@ -#![no_main] - -#[rtic::app(device = lm3s6965)] -mod app { - #[init] - fn init(_: init::Context) -> (init::LateResources, init::Monotonics) { - (init::LateResources {}, init::Monotonics()) - } - - #[task(binds = GPIOA, priority = 1)] - fn gpioa(_: gpioa::Context) {} - - #[task(binds = GPIOB, priority = 2)] - fn gpiob(_: gpiob::Context) {} - - #[task(binds = GPIOC, priority = 3)] - fn gpioc(_: gpioc::Context) {} - - #[task(binds = GPIOD, priority = 4)] - fn gpiod(_: gpiod::Context) {} - - #[task(binds = GPIOE, priority = 5)] - fn gpioe(_: gpioe::Context) {} - - #[task(binds = UART0, priority = 6)] - fn uart0(_: uart0::Context) {} - - #[task(binds = UART1, priority = 7)] - fn uart1(_: uart1::Context) {} - - // OK, this is the maximum priority supported by the device - #[task(binds = SSI0, priority = 8)] - fn ssi0(_: ssi0::Context) {} - - // this value is too high! - #[task(binds = I2C0, priority = 9)] - fn i2c0(_: i2c0::Context) {} -} diff --git a/ui/single/task-priority-too-high.stderr b/ui/single/task-priority-too-high.stderr deleted file mode 100644 index 984d3fa..0000000 --- a/ui/single/task-priority-too-high.stderr +++ /dev/null @@ -1,7 +0,0 @@ -error[E0080]: evaluation of constant value failed - --> $DIR/task-priority-too-high.rs:3:1 - | -3 | #[rtic::app(device = lm3s6965)] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `8_usize - 9_usize`, which would overflow - | - = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) diff --git a/ui/task-priority-too-high.rs b/ui/task-priority-too-high.rs new file mode 100644 index 0000000..b1cbfa9 --- /dev/null +++ b/ui/task-priority-too-high.rs @@ -0,0 +1,38 @@ +#![no_main] + +#[rtic::app(device = lm3s6965)] +mod app { + #[init] + fn init(_: init::Context) -> (init::LateResources, init::Monotonics) { + (init::LateResources {}, init::Monotonics()) + } + + #[task(binds = GPIOA, priority = 1)] + fn gpioa(_: gpioa::Context) {} + + #[task(binds = GPIOB, priority = 2)] + fn gpiob(_: gpiob::Context) {} + + #[task(binds = GPIOC, priority = 3)] + fn gpioc(_: gpioc::Context) {} + + #[task(binds = GPIOD, priority = 4)] + fn gpiod(_: gpiod::Context) {} + + #[task(binds = GPIOE, priority = 5)] + fn gpioe(_: gpioe::Context) {} + + #[task(binds = UART0, priority = 6)] + fn uart0(_: uart0::Context) {} + + #[task(binds = UART1, priority = 7)] + fn uart1(_: uart1::Context) {} + + // OK, this is the maximum priority supported by the device + #[task(binds = SSI0, priority = 8)] + fn ssi0(_: ssi0::Context) {} + + // this value is too high! + #[task(binds = I2C0, priority = 9)] + fn i2c0(_: i2c0::Context) {} +} diff --git a/ui/task-priority-too-high.stderr b/ui/task-priority-too-high.stderr new file mode 100644 index 0000000..984d3fa --- /dev/null +++ b/ui/task-priority-too-high.stderr @@ -0,0 +1,7 @@ +error[E0080]: evaluation of constant value failed + --> $DIR/task-priority-too-high.rs:3:1 + | +3 | #[rtic::app(device = lm3s6965)] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ attempt to compute `8_usize - 9_usize`, which would overflow + | + = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info) -- cgit v1.2.3