diff --git a/code/target/debug/.fingerprint/app-0972f1064a649e89/output-example-rtic_bare9 b/code/target/debug/.fingerprint/app-0972f1064a649e89/output-example-rtic_bare9 deleted file mode 100644 index 811d1deb20463572bfa3f1cd5f6ed8597fbd34e6..0000000000000000000000000000000000000000 --- a/code/target/debug/.fingerprint/app-0972f1064a649e89/output-example-rtic_bare9 +++ /dev/null @@ -1,5 +0,0 @@ -{"message":"unresolved import `panic_rtt_target`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare9.rs","byte_start":81,"byte_end":102,"line_start":10,"line_end":10,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use panic_rtt_target as _;","highlight_start":5,"highlight_end":26}],"label":"no external crate `panic_rtt_target`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_rtt_target`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare9.rs:10:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_rtt_target as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_rtt_target`\u001b[0m\n\n"} -{"message":"`#[panic_handler]` function required, but not found","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: `#[panic_handler]` function required, but not found\u001b[0m\n\n"} -{"message":"language item required, but not found: `eh_personality`","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: language item required, but not found: `eh_personality`\u001b[0m\n\n"} -{"message":"aborting due to 3 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 3 previous errors\u001b[0m\n\n"} -{"message":"For more information about this error, try `rustc --explain E0432`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0432`.\u001b[0m\n"} diff --git a/code/target/debug/.fingerprint/app-1bd1ca6a32f3f109/invoked.timestamp b/code/target/debug/.fingerprint/app-1bd1ca6a32f3f109/invoked.timestamp new file mode 100644 index 0000000000000000000000000000000000000000..e00328da5aa8e7fba830f8cc8d04777646c36cff --- /dev/null +++ b/code/target/debug/.fingerprint/app-1bd1ca6a32f3f109/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/code/target/debug/.fingerprint/app-1bd1ca6a32f3f109/output-example-rtic_bare8 b/code/target/debug/.fingerprint/app-1bd1ca6a32f3f109/output-example-rtic_bare8 new file mode 100644 index 0000000000000000000000000000000000000000..ded7f8243fcb484d52fe734f3c8cf03eb2be7306 --- /dev/null +++ b/code/target/debug/.fingerprint/app-1bd1ca6a32f3f109/output-example-rtic_bare8 @@ -0,0 +1,6 @@ +{"message":"unresolved import `panic_rtt_target`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare8.rs","byte_start":125,"byte_end":146,"line_start":12,"line_end":12,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use panic_rtt_target as _;","highlight_start":5,"highlight_end":26}],"label":"no external crate `panic_rtt_target`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_rtt_target`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare8.rs:12:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m12\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_rtt_target as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_rtt_target`\u001b[0m\n\n"} +{"message":"unused imports: `Output`, `PushPull`, `gpioa::PA`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"examples/rtic_bare8.rs","byte_start":212,"byte_end":221,"line_start":17,"line_end":17,"column_start":12,"column_end":21,"is_primary":true,"text":[{"text":" gpio::{gpioa::PA, Output, PushPull},","highlight_start":12,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"examples/rtic_bare8.rs","byte_start":223,"byte_end":229,"line_start":17,"line_end":17,"column_start":23,"column_end":29,"is_primary":true,"text":[{"text":" gpio::{gpioa::PA, Output, PushPull},","highlight_start":23,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"examples/rtic_bare8.rs","byte_start":231,"byte_end":239,"line_start":17,"line_end":17,"column_start":31,"column_end":39,"is_primary":true,"text":[{"text":" gpio::{gpioa::PA, Output, PushPull},","highlight_start":31,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the unused imports","code":null,"level":"help","spans":[{"file_name":"examples/rtic_bare8.rs","byte_start":205,"byte_end":246,"line_start":17,"line_end":18,"column_start":5,"column_end":5,"is_primary":true,"text":[{"text":" gpio::{gpioa::PA, Output, PushPull},","highlight_start":5,"highlight_end":41},{"text":" prelude::*,","highlight_start":1,"highlight_end":5}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `Output`, `PushPull`, `gpioa::PA`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare8.rs:17:12\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m17\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m gpio::{gpioa::PA, Output, PushPull},\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} +{"message":"`#[panic_handler]` function required, but not found","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: `#[panic_handler]` function required, but not found\u001b[0m\n\n"} +{"message":"language item required, but not found: `eh_personality`","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: language item required, but not found: `eh_personality`\u001b[0m\n\n"} +{"message":"aborting due to 3 previous errors; 1 warning emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 3 previous errors; 1 warning emitted\u001b[0m\n\n"} +{"message":"For more information about this error, try `rustc --explain E0432`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0432`.\u001b[0m\n"} diff --git a/code/target/debug/.fingerprint/app-2ea25696ab5416e4/invoked.timestamp b/code/target/debug/.fingerprint/app-2ea25696ab5416e4/invoked.timestamp new file mode 100644 index 0000000000000000000000000000000000000000..e00328da5aa8e7fba830f8cc8d04777646c36cff --- /dev/null +++ b/code/target/debug/.fingerprint/app-2ea25696ab5416e4/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/code/target/debug/.fingerprint/app-2ea25696ab5416e4/output-example-rtt-pwm-sine-timer-task b/code/target/debug/.fingerprint/app-2ea25696ab5416e4/output-example-rtt-pwm-sine-timer-task new file mode 100644 index 0000000000000000000000000000000000000000..bf79ca04c6aa89156394acd8b88d34cbb20b9ad6 --- /dev/null +++ b/code/target/debug/.fingerprint/app-2ea25696ab5416e4/output-example-rtt-pwm-sine-timer-task @@ -0,0 +1,9 @@ +{"message":"unresolved import `rtic::cyccnt`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt-pwm-sine-timer-task.rs","byte_start":206,"byte_end":212,"line_start":10,"line_end":10,"column_start":11,"column_end":17,"is_primary":true,"text":[{"text":"use rtic::cyccnt::{Instant, U32Ext as _};","highlight_start":11,"highlight_end":17}],"label":"could not find `cyccnt` in `rtic`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `rtic::cyccnt`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-timer-task.rs:10:11\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse rtic::cyccnt::{Instant, U32Ext as _};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mcould not find `cyccnt` in `rtic`\u001b[0m\n\n"} +{"message":"unresolved import `panic_rtt_target`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt-pwm-sine-timer-task.rs","byte_start":173,"byte_end":194,"line_start":9,"line_end":9,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use panic_rtt_target as _;","highlight_start":5,"highlight_end":26}],"label":"no external crate `panic_rtt_target`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_rtt_target`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-timer-task.rs:9:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_rtt_target as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_rtt_target`\u001b[0m\n\n"} +{"message":"unused imports: `asm`, `peripheral::DWT`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"examples/rtt-pwm-sine-timer-task.rs","byte_start":146,"byte_end":149,"line_start":8,"line_end":8,"column_start":16,"column_end":19,"is_primary":true,"text":[{"text":"use cortex_m::{asm, peripheral::DWT};","highlight_start":16,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"examples/rtt-pwm-sine-timer-task.rs","byte_start":151,"byte_end":166,"line_start":8,"line_end":8,"column_start":21,"column_end":36,"is_primary":true,"text":[{"text":"use cortex_m::{asm, peripheral::DWT};","highlight_start":21,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"examples/rtt-pwm-sine-timer-task.rs","byte_start":131,"byte_end":168,"line_start":8,"line_end":8,"column_start":1,"column_end":38,"is_primary":true,"text":[{"text":"use cortex_m::{asm, peripheral::DWT};","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `asm`, `peripheral::DWT`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-timer-task.rs:8:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse cortex_m::{asm, peripheral::DWT};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} +{"message":"unused import: `pwm`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"examples/rtt-pwm-sine-timer-task.rs","byte_start":349,"byte_end":352,"line_start":16,"line_end":16,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":" pwm, stm32,","highlight_start":5,"highlight_end":8}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"examples/rtt-pwm-sine-timer-task.rs","byte_start":343,"byte_end":352,"line_start":15,"line_end":16,"column_start":15,"column_end":8,"is_primary":true,"text":[{"text":" prelude::*,","highlight_start":15,"highlight_end":16},{"text":" pwm, stm32,","highlight_start":1,"highlight_end":8}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `pwm`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-timer-task.rs:16:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m16\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m pwm, stm32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^\u001b[0m\n\n"} +{"message":"language item required, but not found: `eh_personality`","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: language item required, but not found: `eh_personality`\u001b[0m\n\n"} +{"message":"the trait bound `Hertz: From<{integer}>` is not satisfied","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function: Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function: It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"examples/rtt-pwm-sine-timer-task.rs","byte_start":4768,"byte_end":4779,"line_start":142,"line_end":142,"column_start":44,"column_end":55,"is_primary":true,"text":[{"text":" let mut tim2: Timer<stm32::TIM2> = Timer::tim2(dp.TIM2, 48000, clocks);","highlight_start":44,"highlight_end":55}],"label":"the trait `From<{integer}>` is not implemented for `Hertz`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"examples/rtt-pwm-sine-timer-task.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":false,"text":[],"label":"required by a bound in this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/home/carlosterberg/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f4xx-hal-0.8.3/src/timer.rs","byte_start":4366,"byte_end":4377,"line_start":180,"line_end":180,"column_start":24,"column_end":35,"is_primary":false,"text":[{"text":" T: Into<Hertz>,","highlight_start":24,"highlight_end":35}],"label":"required by this bound in `Timer::<stm32f4xx_hal::stm32::TIM2>::tim2`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/home/carlosterberg/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f4xx-hal-0.8.3/src/timer.rs","byte_start":9870,"byte_end":10154,"line_start":342,"line_end":347,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"hal! {","highlight_start":1,"highlight_end":7},{"text":" TIM2: (tim2, tim2en, tim2rst, apb1enr, apb1rstr, pclk1, ppre1),","highlight_start":1,"highlight_end":68},{"text":" TIM3: (tim3, tim3en, tim3rst, apb1enr, apb1rstr, pclk1, ppre1),","highlight_start":1,"highlight_end":68},{"text":" TIM4: (tim4, tim4en, tim4rst, apb1enr, apb1rstr, pclk1, ppre1),","highlight_start":1,"highlight_end":68},{"text":" TIM10: (tim10, tim10en, tim10rst, apb2enr, apb2rstr, pclk2, ppre2),","highlight_start":1,"highlight_end":72},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"hal!","def_site_span":{"file_name":"/home/carlosterberg/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f4xx-hal-0.8.3/src/timer.rs","byte_start":3974,"byte_end":8663,"line_start":173,"line_end":296,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! hal {","highlight_start":1,"highlight_end":19},{"text":" ($($TIM:ident: ($tim:ident, $timXen:ident, $timXrst:ident, $apbenr:ident, $apbrstr:ident, $pclk:ident, $ppre:ident),)+) => {","highlight_start":1,"highlight_end":129},{"text":" $(","highlight_start":1,"highlight_end":11},{"text":" impl Timer<$TIM> {","highlight_start":1,"highlight_end":31},{"text":" /// Configures a TIM peripheral as a periodic count down timer","highlight_start":1,"highlight_end":79},{"text":" pub fn $tim<T>(tim: $TIM, timeout: T, clocks: Clocks) -> Self","highlight_start":1,"highlight_end":78},{"text":" where","highlight_start":1,"highlight_end":22},{"text":" T: Into<Hertz>,","highlight_start":1,"highlight_end":36},{"text":" {","highlight_start":1,"highlight_end":18},{"text":" // enable and reset peripheral to a clean slate state","highlight_start":1,"highlight_end":74},{"text":" let rcc = unsafe { &(*RCC::ptr()) };","highlight_start":1,"highlight_end":57},{"text":" rcc.$apbenr.modify(|_, w| w.$timXen().set_bit());","highlight_start":1,"highlight_end":70},{"text":" rcc.$apbrstr.modify(|_, w| w.$timXrst().set_bit());","highlight_start":1,"highlight_end":72},{"text":" rcc.$apbrstr.modify(|_, w| w.$timXrst().clear_bit());","highlight_start":1,"highlight_end":74},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let mut timer = Timer {","highlight_start":1,"highlight_end":44},{"text":" clocks,","highlight_start":1,"highlight_end":32},{"text":" tim,","highlight_start":1,"highlight_end":29},{"text":" };","highlight_start":1,"highlight_end":23},{"text":" timer.start(timeout);","highlight_start":1,"highlight_end":42},{"text":"","highlight_start":1,"highlight_end":1},{"text":" timer","highlight_start":1,"highlight_end":26},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" /// Starts listening for an `event`","highlight_start":1,"highlight_end":52},{"text":" ///","highlight_start":1,"highlight_end":20},{"text":" /// Note, you will also have to enable the TIM2 interrupt in the NVIC to start","highlight_start":1,"highlight_end":95},{"text":" /// receiving events.","highlight_start":1,"highlight_end":38},{"text":" pub fn listen(&mut self, event: Event) {","highlight_start":1,"highlight_end":57},{"text":" match event {","highlight_start":1,"highlight_end":34},{"text":" Event::TimeOut => {","highlight_start":1,"highlight_end":44},{"text":" // Enable update event interrupt","highlight_start":1,"highlight_end":61},{"text":" self.tim.dier.write(|w| w.uie().set_bit());","highlight_start":1,"highlight_end":72},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" /// Clears interrupt associated with `event`.","highlight_start":1,"highlight_end":62},{"text":" ///","highlight_start":1,"highlight_end":20},{"text":" /// If the interrupt is not cleared, it will immediately retrigger after","highlight_start":1,"highlight_end":89},{"text":" /// the ISR has finished.","highlight_start":1,"highlight_end":42},{"text":" pub fn clear_interrupt(&mut self, event: Event) {","highlight_start":1,"highlight_end":66},{"text":" match event {","highlight_start":1,"highlight_end":34},{"text":" Event::TimeOut => {","highlight_start":1,"highlight_end":44},{"text":" // Clear interrupt flag","highlight_start":1,"highlight_end":52},{"text":" self.tim.sr.write(|w| w.uif().clear_bit());","highlight_start":1,"highlight_end":72},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" /// Stops listening for an `event`","highlight_start":1,"highlight_end":51},{"text":" pub fn unlisten(&mut self, event: Event) {","highlight_start":1,"highlight_end":59},{"text":" match event {","highlight_start":1,"highlight_end":34},{"text":" Event::TimeOut => {","highlight_start":1,"highlight_end":44},{"text":" // Enable update event interrupt","highlight_start":1,"highlight_end":61},{"text":" self.tim.dier.write(|w| w.uie().clear_bit());","highlight_start":1,"highlight_end":74},{"text":" }","highlight_start":1,"highlight_end":26},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" /// Releases the TIM peripheral","highlight_start":1,"highlight_end":48},{"text":" pub fn release(self) -> $TIM {","highlight_start":1,"highlight_end":47},{"text":" // pause counter","highlight_start":1,"highlight_end":37},{"text":" self.tim.cr1.modify(|_, w| w.cen().clear_bit());","highlight_start":1,"highlight_end":69},{"text":" self.tim","highlight_start":1,"highlight_end":29},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl CountDown for Timer<$TIM> {","highlight_start":1,"highlight_end":45},{"text":" type Time = Hertz;","highlight_start":1,"highlight_end":35},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn start<T>(&mut self, timeout: T)","highlight_start":1,"highlight_end":51},{"text":" where","highlight_start":1,"highlight_end":22},{"text":" T: Into<Hertz>,","highlight_start":1,"highlight_end":36},{"text":" {","highlight_start":1,"highlight_end":18},{"text":" // pause","highlight_start":1,"highlight_end":29},{"text":" self.tim.cr1.modify(|_, w| w.cen().clear_bit());","highlight_start":1,"highlight_end":69},{"text":" // reset counter","highlight_start":1,"highlight_end":37},{"text":" self.tim.cnt.reset();","highlight_start":1,"highlight_end":42},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let frequency = timeout.into().0;","highlight_start":1,"highlight_end":54},{"text":" let pclk_mul = if self.clocks.$ppre() == 1 { 1 } else { 2 };","highlight_start":1,"highlight_end":81},{"text":" let ticks = self.clocks.$pclk().0 * pclk_mul / frequency;","highlight_start":1,"highlight_end":78},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let psc = u16((ticks - 1) / (1 << 16)).unwrap();","highlight_start":1,"highlight_end":69},{"text":" self.tim.psc.write(|w| w.psc().bits(psc) );","highlight_start":1,"highlight_end":64},{"text":"","highlight_start":1,"highlight_end":1},{"text":" let arr = u16(ticks / u32(psc + 1)).unwrap();","highlight_start":1,"highlight_end":66},{"text":" self.tim.arr.write(|w| unsafe { w.bits(u32(arr)) });","highlight_start":1,"highlight_end":73},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // start counter","highlight_start":1,"highlight_end":37},{"text":" self.tim.cr1.modify(|_, w| w.cen().set_bit());","highlight_start":1,"highlight_end":67},{"text":" }","highlight_start":1,"highlight_end":18},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn wait(&mut self) -> nb::Result<(), Void> {","highlight_start":1,"highlight_end":61},{"text":" if self.tim.sr.read().uif().bit_is_clear() {","highlight_start":1,"highlight_end":65},{"text":" Err(nb::Error::WouldBlock)","highlight_start":1,"highlight_end":51},{"text":" } else {","highlight_start":1,"highlight_end":29},{"text":" self.tim.sr.modify(|_, w| w.uif().clear_bit());","highlight_start":1,"highlight_end":72},{"text":" Ok(())","highlight_start":1,"highlight_end":31},{"text":" }","highlight_start":1,"highlight_end":22},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl Cancel for Timer<$TIM>","highlight_start":1,"highlight_end":40},{"text":" {","highlight_start":1,"highlight_end":14},{"text":" type Error = Error;","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":" fn cancel(&mut self) -> Result<(), Self::Error> {","highlight_start":1,"highlight_end":66},{"text":" let is_counter_enabled = self.tim.cr1.read().cen().is_enabled();","highlight_start":1,"highlight_end":85},{"text":" if !is_counter_enabled {","highlight_start":1,"highlight_end":45},{"text":" return Err(Self::Error::Disabled);","highlight_start":1,"highlight_end":59},{"text":" }","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":" // disable counter","highlight_start":1,"highlight_end":39},{"text":" self.tim.cr1.modify(|_, w| w.cen().clear_bit());","highlight_start":1,"highlight_end":69},{"text":" Ok(())","highlight_start":1,"highlight_end":27},{"text":" }","highlight_start":1,"highlight_end":18},{"text":" }","highlight_start":1,"highlight_end":14},{"text":"","highlight_start":1,"highlight_end":1},{"text":" impl Periodic for Timer<$TIM> {}","highlight_start":1,"highlight_end":45},{"text":" )+","highlight_start":1,"highlight_end":11},{"text":" }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"required because of the requirements on the impl of `Into<Hertz>` for `{integer}`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0277]\u001b[0m\u001b[0m\u001b[1m: the trait bound `Hertz: From<{integer}>` is not satisfied\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-timer-task.rs:142:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m142\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut tim2: Timer<stm32::TIM2> = Timer::tim2(dp.TIM2, 48000, clocks);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mthe trait `From<{integer}>` is not implemented for `Hertz`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m::: \u001b[0m\u001b[0m/home/carlosterberg/.cargo/registry/src/github.com-1ecc6299db9ec823/stm32f4xx-hal-0.8.3/src/timer.rs:342:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mhal! {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m343\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m TIM2: (tim2, tim2en, tim2rst, apb1enr, apb1rstr, pclk1, ppre1),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m344\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m TIM3: (tim3, tim3en, tim3rst, apb1enr, apb1rstr, pclk1, ppre1),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m345\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m TIM4: (tim4, tim4en, tim4rst, apb1enr, apb1rstr, pclk1, ppre1),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m TIM10: (tim10, tim10en, tim10rst, apb2enr, apb2rstr, pclk2, ppre2),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m347\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mrequired by this bound in `Timer::<stm32f4xx_hal::stm32::TIM2>::tim2`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: required because of the requirements on the impl of `Into<Hertz>` for `{integer}`\u001b[0m\n\n"} +{"message":"aborting due to 4 previous errors; 2 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 4 previous errors; 2 warnings emitted\u001b[0m\n\n"} +{"message":"Some errors have detailed explanations: E0277, E0432.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0277, E0432.\u001b[0m\n"} +{"message":"For more information about an error, try `rustc --explain E0277`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0277`.\u001b[0m\n"} diff --git a/code/target/debug/.fingerprint/app-3b55db1e31274f66/invoked.timestamp b/code/target/debug/.fingerprint/app-3b55db1e31274f66/invoked.timestamp new file mode 100644 index 0000000000000000000000000000000000000000..e00328da5aa8e7fba830f8cc8d04777646c36cff --- /dev/null +++ b/code/target/debug/.fingerprint/app-3b55db1e31274f66/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/code/target/debug/.fingerprint/app-23559c2cf6aaf41a/output-example-rtt_rtic_hello b/code/target/debug/.fingerprint/app-3b55db1e31274f66/output-example-rtt-pwm-saw similarity index 100% rename from code/target/debug/.fingerprint/app-23559c2cf6aaf41a/output-example-rtt_rtic_hello rename to code/target/debug/.fingerprint/app-3b55db1e31274f66/output-example-rtt-pwm-saw diff --git a/code/target/debug/.fingerprint/app-5a53308fdbbde18a/invoked.timestamp b/code/target/debug/.fingerprint/app-5a53308fdbbde18a/invoked.timestamp new file mode 100644 index 0000000000000000000000000000000000000000..e00328da5aa8e7fba830f8cc8d04777646c36cff --- /dev/null +++ b/code/target/debug/.fingerprint/app-5a53308fdbbde18a/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/code/target/debug/.fingerprint/app-a79027f43e2287a3/output-example-rtic_bare6 b/code/target/debug/.fingerprint/app-5a53308fdbbde18a/output-example-rtic_bare7 similarity index 68% rename from code/target/debug/.fingerprint/app-a79027f43e2287a3/output-example-rtic_bare6 rename to code/target/debug/.fingerprint/app-5a53308fdbbde18a/output-example-rtic_bare7 index a4d686d7d2b6cc55d513593125e8eb78c2b85532..a0d3d10357e699cbffaa27d0b31e79f9f4980a40 100644 --- a/code/target/debug/.fingerprint/app-a79027f43e2287a3/output-example-rtic_bare6 +++ b/code/target/debug/.fingerprint/app-5a53308fdbbde18a/output-example-rtic_bare7 @@ -1,10 +1,12 @@ -{"message":"unresolved import `rtic::cyccnt`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare6.rs","byte_start":267,"byte_end":273,"line_start":14,"line_end":14,"column_start":11,"column_end":17,"is_primary":true,"text":[{"text":"use rtic::cyccnt::{Instant, U32Ext as _};","highlight_start":11,"highlight_end":17}],"label":"could not find `cyccnt` in `rtic`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `rtic::cyccnt`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare6.rs:14:11\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m14\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse rtic::cyccnt::{Instant, U32Ext as _};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mcould not find `cyccnt` in `rtic`\u001b[0m\n\n"} -{"message":"unresolved import `panic_rtt_target`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare6.rs","byte_start":234,"byte_end":255,"line_start":13,"line_end":13,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use panic_rtt_target as _;","highlight_start":5,"highlight_end":26}],"label":"no external crate `panic_rtt_target`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_rtt_target`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare6.rs:13:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m13\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_rtt_target as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_rtt_target`\u001b[0m\n\n"} -{"message":"failed to resolve: could not find `cyccnt` in `rtic`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared crate or module `ferris_wheel`\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare6.rs","byte_start":542,"byte_end":548,"line_start":24,"line_end":24,"column_start":62,"column_end":68,"is_primary":true,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]","highlight_start":62,"highlight_end":68}],"label":"could not find `cyccnt` in `rtic`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: could not find `cyccnt` in `rtic`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare6.rs:24:62\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m24\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mcould not find `cyccnt` in `rtic`\u001b[0m\n\n"} +{"message":"unresolved import `rtic::cyccnt`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare7.rs","byte_start":195,"byte_end":201,"line_start":12,"line_end":12,"column_start":11,"column_end":17,"is_primary":true,"text":[{"text":"use rtic::cyccnt::{Instant, U32Ext as _};","highlight_start":11,"highlight_end":17}],"label":"could not find `cyccnt` in `rtic`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `rtic::cyccnt`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare7.rs:12:11\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m12\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse rtic::cyccnt::{Instant, U32Ext as _};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mcould not find `cyccnt` in `rtic`\u001b[0m\n\n"} +{"message":"unresolved import `panic_rtt_target`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare7.rs","byte_start":162,"byte_end":183,"line_start":11,"line_end":11,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use panic_rtt_target as _;","highlight_start":5,"highlight_end":26}],"label":"no external crate `panic_rtt_target`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_rtt_target`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare7.rs:11:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m11\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_rtt_target as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_rtt_target`\u001b[0m\n\n"} +{"message":"failed to resolve: could not find `cyccnt` in `rtic`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared crate or module `ferris_wheel`\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare7.rs","byte_start":571,"byte_end":577,"line_start":26,"line_end":26,"column_start":62,"column_end":68,"is_primary":true,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]","highlight_start":62,"highlight_end":68}],"label":"could not find `cyccnt` in `rtic`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: could not find `cyccnt` in `rtic`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare7.rs:26:62\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m26\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mcould not find `cyccnt` in `rtic`\u001b[0m\n\n"} +{"message":"unused import: `stm32f4::stm32f411::GPIOA`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"examples/rtic_bare7.rs","byte_start":275,"byte_end":300,"line_start":14,"line_end":14,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"use stm32f4::stm32f411::GPIOA;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"examples/rtic_bare7.rs","byte_start":271,"byte_end":301,"line_start":14,"line_end":14,"column_start":1,"column_end":31,"is_primary":true,"text":[{"text":"use stm32f4::stm32f411::GPIOA;","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `stm32f4::stm32f411::GPIOA`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare7.rs:14:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m14\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse stm32f4::stm32f411::GPIOA;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} +{"message":"unused import: `stm32f4xx_hal::stm32`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"examples/rtic_bare7.rs","byte_start":306,"byte_end":326,"line_start":15,"line_end":15,"column_start":5,"column_end":25,"is_primary":true,"text":[{"text":"use stm32f4xx_hal::stm32;","highlight_start":5,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"examples/rtic_bare7.rs","byte_start":302,"byte_end":327,"line_start":15,"line_end":15,"column_start":1,"column_end":26,"is_primary":true,"text":[{"text":"use stm32f4xx_hal::stm32;","highlight_start":1,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `stm32f4xx_hal::stm32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare7.rs:15:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m15\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse stm32f4xx_hal::stm32;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"message":"language item required, but not found: `eh_personality`","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: language item required, but not found: `eh_personality`\u001b[0m\n\n"} -{"message":"no method named `cycles` found for type `u32` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare6.rs","byte_start":1380,"byte_end":1386,"line_start":47,"line_end":47,"column_start":41,"column_end":47,"is_primary":true,"text":[{"text":" cx.schedule.toggle(now + OFFSET.cycles()).unwrap();","highlight_start":41,"highlight_end":47}],"label":"method not found in `u32`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no method named `cycles` found for type `u32` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare6.rs:47:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m47\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m cx.schedule.toggle(now + OFFSET.cycles()).unwrap();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmethod not found in `u32`\u001b[0m\n\n"} -{"message":"no method named `cycles` found for type `u32` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare6.rs","byte_start":2990,"byte_end":2996,"line_start":108,"line_end":108,"column_start":50,"column_end":56,"is_primary":true,"text":[{"text":" cx.schedule.toggle(cx.scheduled + OFFSET.cycles()).unwrap();","highlight_start":50,"highlight_end":56}],"label":"method not found in `u32`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no method named `cycles` found for type `u32` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare6.rs:108:50\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m108\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m cx.schedule.toggle(cx.scheduled + OFFSET.cycles()).unwrap();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmethod not found in `u32`\u001b[0m\n\n"} -{"message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = \"hello\".chars().rev().collect();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nA common example is the `collect` method on `Iterator`. It has a generic type\nparameter with a `FromIterator` bound, which for a `char` iterator is\nimplemented by `Vec` and `String` among others. Consider the following snippet\nthat reverses the characters of a string:\n\nIn the first code example, the compiler cannot infer what the type of `x` should\nbe: `Vec<char>` and `String` are both suitable candidates. To specify which type\nto use, you can use a type annotation on `x`:\n\n```\nlet x: Vec<char> = \"hello\".chars().rev().collect();\n```\n\nIt is not necessary to annotate the full type. Once the ambiguity is resolved,\nthe compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare6.rs","byte_start":481,"byte_end":578,"line_start":24,"line_end":24,"column_start":1,"column_end":98,"is_primary":true,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]","highlight_start":1,"highlight_end":98}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"examples/rtic_bare6.rs","byte_start":481,"byte_end":578,"line_start":24,"line_end":24,"column_start":1,"column_end":98,"is_primary":false,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]","highlight_start":1,"highlight_end":98}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[rtic::app]","def_site_span":{"file_name":"/home/carlosterberg/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rtic-macros-0.5.2/src/lib.rs","byte_start":9803,"byte_end":9867,"line_start":205,"line_end":205,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"pub fn app(args: TokenStream, input: TokenStream) -> TokenStream {","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"type must be known at this point","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0282]\u001b[0m\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare6.rs:24:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m24\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: type must be known at this point\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} -{"message":"aborting due to 7 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 7 previous errors\u001b[0m\n\n"} +{"message":"no method named `cycles` found for type `u32` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare7.rs","byte_start":1478,"byte_end":1484,"line_start":51,"line_end":51,"column_start":41,"column_end":47,"is_primary":true,"text":[{"text":" cx.schedule.toggle(now + OFFSET.cycles()).unwrap();","highlight_start":41,"highlight_end":47}],"label":"method not found in `u32`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no method named `cycles` found for type `u32` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare7.rs:51:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m51\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m cx.schedule.toggle(now + OFFSET.cycles()).unwrap();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmethod not found in `u32`\u001b[0m\n\n"} +{"message":"no method named `cycles` found for type `u32` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare7.rs","byte_start":2690,"byte_end":2696,"line_start":91,"line_end":91,"column_start":50,"column_end":56,"is_primary":true,"text":[{"text":" cx.schedule.toggle(cx.scheduled + OFFSET.cycles()).unwrap();","highlight_start":50,"highlight_end":56}],"label":"method not found in `u32`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no method named `cycles` found for type `u32` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare7.rs:91:50\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m91\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m cx.schedule.toggle(cx.scheduled + OFFSET.cycles()).unwrap();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmethod not found in `u32`\u001b[0m\n\n"} +{"message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = \"hello\".chars().rev().collect();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nA common example is the `collect` method on `Iterator`. It has a generic type\nparameter with a `FromIterator` bound, which for a `char` iterator is\nimplemented by `Vec` and `String` among others. Consider the following snippet\nthat reverses the characters of a string:\n\nIn the first code example, the compiler cannot infer what the type of `x` should\nbe: `Vec<char>` and `String` are both suitable candidates. To specify which type\nto use, you can use a type annotation on `x`:\n\n```\nlet x: Vec<char> = \"hello\".chars().rev().collect();\n```\n\nIt is not necessary to annotate the full type. Once the ambiguity is resolved,\nthe compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare7.rs","byte_start":510,"byte_end":607,"line_start":26,"line_end":26,"column_start":1,"column_end":98,"is_primary":true,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]","highlight_start":1,"highlight_end":98}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"examples/rtic_bare7.rs","byte_start":510,"byte_end":607,"line_start":26,"line_end":26,"column_start":1,"column_end":98,"is_primary":false,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]","highlight_start":1,"highlight_end":98}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[rtic::app]","def_site_span":{"file_name":"/home/carlosterberg/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rtic-macros-0.5.2/src/lib.rs","byte_start":9803,"byte_end":9867,"line_start":205,"line_end":205,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"pub fn app(args: TokenStream, input: TokenStream) -> TokenStream {","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"type must be known at this point","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0282]\u001b[0m\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare7.rs:26:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m26\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: type must be known at this point\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} +{"message":"aborting due to 7 previous errors; 2 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 7 previous errors; 2 warnings emitted\u001b[0m\n\n"} {"message":"Some errors have detailed explanations: E0282, E0432, E0433, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0282, E0432, E0433, E0599.\u001b[0m\n"} {"message":"For more information about an error, try `rustc --explain E0282`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0282`.\u001b[0m\n"} diff --git a/code/target/debug/.fingerprint/app-6febdde1bc53639a/invoked.timestamp b/code/target/debug/.fingerprint/app-6febdde1bc53639a/invoked.timestamp new file mode 100644 index 0000000000000000000000000000000000000000..e00328da5aa8e7fba830f8cc8d04777646c36cff --- /dev/null +++ b/code/target/debug/.fingerprint/app-6febdde1bc53639a/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/code/target/debug/.fingerprint/app-6febdde1bc53639a/output-example-rtt_rtic_usb_mouse b/code/target/debug/.fingerprint/app-6febdde1bc53639a/output-example-rtt_rtic_usb_mouse new file mode 100644 index 0000000000000000000000000000000000000000..ee027da25ab640a718ca150106bb86f60e675f09 --- /dev/null +++ b/code/target/debug/.fingerprint/app-6febdde1bc53639a/output-example-rtt_rtic_usb_mouse @@ -0,0 +1,9 @@ +{"message":"unresolved import `rtic::cyccnt`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt_rtic_usb_mouse.rs","byte_start":233,"byte_end":239,"line_start":12,"line_end":12,"column_start":11,"column_end":17,"is_primary":true,"text":[{"text":"use rtic::cyccnt::{Instant, U32Ext as _};","highlight_start":11,"highlight_end":17}],"label":"could not find `cyccnt` in `rtic`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `rtic::cyccnt`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt_rtic_usb_mouse.rs:12:11\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m12\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse rtic::cyccnt::{Instant, U32Ext as _};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mcould not find `cyccnt` in `rtic`\u001b[0m\n\n"} +{"message":"failed to resolve: could not find `cyccnt` in `rtic`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared crate or module `ferris_wheel`\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"examples/rtt_rtic_usb_mouse.rs","byte_start":7185,"byte_end":7191,"line_start":207,"line_end":207,"column_start":82,"column_end":88,"is_primary":true,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, peripherals = true, monotonic = rtic::cyccnt::CYCCNT)]","highlight_start":82,"highlight_end":88}],"label":"could not find `cyccnt` in `rtic`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: could not find `cyccnt` in `rtic`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt_rtic_usb_mouse.rs:207:82\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m207\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m#[rtic::app(device = stm32f4xx_hal::stm32, peripherals = true, monotonic = rtic::cyccnt::CYCCNT)]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mcould not find `cyccnt` in `rtic`\u001b[0m\n\n"} +{"message":"language item required, but not found: `eh_personality`","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: language item required, but not found: `eh_personality`\u001b[0m\n\n"} +{"message":"no method named `cycles` found for type `u32` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt_rtic_usb_mouse.rs","byte_start":9055,"byte_end":9061,"line_start":266,"line_end":266,"column_start":47,"column_end":53,"is_primary":true,"text":[{"text":" cx.schedule.on_tick(cx.start + PERIOD.cycles()).ok();","highlight_start":47,"highlight_end":53}],"label":"method not found in `u32`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no method named `cycles` found for type `u32` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt_rtic_usb_mouse.rs:266:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m cx.schedule.on_tick(cx.start + PERIOD.cycles()).ok();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmethod not found in `u32`\u001b[0m\n\n"} +{"message":"no method named `cycles` found for type `u32` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt_rtic_usb_mouse.rs","byte_start":9496,"byte_end":9502,"line_start":287,"line_end":287,"column_start":53,"column_end":59,"is_primary":true,"text":[{"text":" cx.schedule.on_tick(Instant::now() + PERIOD.cycles()).ok();","highlight_start":53,"highlight_end":59}],"label":"method not found in `u32`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no method named `cycles` found for type `u32` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt_rtic_usb_mouse.rs:287:53\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m cx.schedule.on_tick(Instant::now() + PERIOD.cycles()).ok();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmethod not found in `u32`\u001b[0m\n\n"} +{"message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = \"hello\".chars().rev().collect();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nA common example is the `collect` method on `Iterator`. It has a generic type\nparameter with a `FromIterator` bound, which for a `char` iterator is\nimplemented by `Vec` and `String` among others. Consider the following snippet\nthat reverses the characters of a string:\n\nIn the first code example, the compiler cannot infer what the type of `x` should\nbe: `Vec<char>` and `String` are both suitable candidates. To specify which type\nto use, you can use a type annotation on `x`:\n\n```\nlet x: Vec<char> = \"hello\".chars().rev().collect();\n```\n\nIt is not necessary to annotate the full type. Once the ambiguity is resolved,\nthe compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"examples/rtt_rtic_usb_mouse.rs","byte_start":7104,"byte_end":7201,"line_start":207,"line_end":207,"column_start":1,"column_end":98,"is_primary":true,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, peripherals = true, monotonic = rtic::cyccnt::CYCCNT)]","highlight_start":1,"highlight_end":98}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"examples/rtt_rtic_usb_mouse.rs","byte_start":7104,"byte_end":7201,"line_start":207,"line_end":207,"column_start":1,"column_end":98,"is_primary":false,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, peripherals = true, monotonic = rtic::cyccnt::CYCCNT)]","highlight_start":1,"highlight_end":98}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[rtic::app]","def_site_span":{"file_name":"/home/carlosterberg/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rtic-macros-0.5.2/src/lib.rs","byte_start":9803,"byte_end":9867,"line_start":205,"line_end":205,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"pub fn app(args: TokenStream, input: TokenStream) -> TokenStream {","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"type must be known at this point","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0282]\u001b[0m\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt_rtic_usb_mouse.rs:207:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m207\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m#[rtic::app(device = stm32f4xx_hal::stm32, peripherals = true, monotonic = rtic::cyccnt::CYCCNT)]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: type must be known at this point\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} +{"message":"aborting due to 6 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 6 previous errors\u001b[0m\n\n"} +{"message":"Some errors have detailed explanations: E0282, E0432, E0433, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0282, E0432, E0433, E0599.\u001b[0m\n"} +{"message":"For more information about an error, try `rustc --explain E0282`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0282`.\u001b[0m\n"} diff --git a/code/target/debug/.fingerprint/app-7366d11bc8ef97a8/output-example-rtt-pwm-dma b/code/target/debug/.fingerprint/app-7366d11bc8ef97a8/output-example-rtt-pwm-dma deleted file mode 100644 index 12cd17d3d0bc73fc66bff98697e4d0fcc712cc9d..0000000000000000000000000000000000000000 --- a/code/target/debug/.fingerprint/app-7366d11bc8ef97a8/output-example-rtt-pwm-dma +++ /dev/null @@ -1,6 +0,0 @@ -{"message":"unresolved import `stm32f4xx_hal::dma`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt-pwm-dma.rs","byte_start":272,"byte_end":275,"line_start":12,"line_end":12,"column_start":25,"column_end":28,"is_primary":true,"text":[{"text":"use stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};","highlight_start":25,"highlight_end":28}],"label":"no `dma` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `stm32f4xx_hal::dma`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-dma.rs:12:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m12\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `dma` in the root\u001b[0m\n\n"} -{"message":"unused imports: `asm`, `peripheral::DWT`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"examples/rtt-pwm-dma.rs","byte_start":152,"byte_end":155,"line_start":9,"line_end":9,"column_start":16,"column_end":19,"is_primary":true,"text":[{"text":"use cortex_m::{asm, peripheral::DWT};","highlight_start":16,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"examples/rtt-pwm-dma.rs","byte_start":157,"byte_end":172,"line_start":9,"line_end":9,"column_start":21,"column_end":36,"is_primary":true,"text":[{"text":"use cortex_m::{asm, peripheral::DWT};","highlight_start":21,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"examples/rtt-pwm-dma.rs","byte_start":137,"byte_end":174,"line_start":9,"line_end":9,"column_start":1,"column_end":38,"is_primary":true,"text":[{"text":"use cortex_m::{asm, peripheral::DWT};","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `asm`, `peripheral::DWT`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-dma.rs:9:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse cortex_m::{asm, peripheral::DWT};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} -{"message":"unused import: `pwm`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"examples/rtt-pwm-dma.rs","byte_start":302,"byte_end":305,"line_start":12,"line_end":12,"column_start":55,"column_end":58,"is_primary":true,"text":[{"text":"use stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};","highlight_start":55,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"examples/rtt-pwm-dma.rs","byte_start":300,"byte_end":305,"line_start":12,"line_end":12,"column_start":53,"column_end":58,"is_primary":true,"text":[{"text":"use stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};","highlight_start":53,"highlight_end":58}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `pwm`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-dma.rs:12:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m12\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^\u001b[0m\n\n"} -{"message":"language item required, but not found: `eh_personality`","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: language item required, but not found: `eh_personality`\u001b[0m\n\n"} -{"message":"aborting due to 2 previous errors; 2 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 2 previous errors; 2 warnings emitted\u001b[0m\n\n"} -{"message":"For more information about this error, try `rustc --explain E0432`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0432`.\u001b[0m\n"} diff --git a/code/target/debug/.fingerprint/app-79ed6e09649b0934/output-example-rtt-pwm-sine-task b/code/target/debug/.fingerprint/app-79ed6e09649b0934/output-example-rtt-pwm-sine-task deleted file mode 100644 index dcc1e4cbb0d1ec344817a40ec68769d629c037d2..0000000000000000000000000000000000000000 --- a/code/target/debug/.fingerprint/app-79ed6e09649b0934/output-example-rtt-pwm-sine-task +++ /dev/null @@ -1,15 +0,0 @@ -{"message":"unresolved import `rtic::cyccnt`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":275,"byte_end":281,"line_start":13,"line_end":13,"column_start":11,"column_end":17,"is_primary":true,"text":[{"text":"use rtic::cyccnt::{Instant, U32Ext as _};","highlight_start":11,"highlight_end":17}],"label":"could not find `cyccnt` in `rtic`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `rtic::cyccnt`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-task.rs:13:11\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m13\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse rtic::cyccnt::{Instant, U32Ext as _};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mcould not find `cyccnt` in `rtic`\u001b[0m\n\n"} -{"message":"unresolved import `stm32f4xx_hal::dma`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":384,"byte_end":387,"line_start":16,"line_end":16,"column_start":25,"column_end":28,"is_primary":true,"text":[{"text":"use stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};","highlight_start":25,"highlight_end":28}],"label":"no `dma` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `stm32f4xx_hal::dma`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-task.rs:16:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m16\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `dma` in the root\u001b[0m\n\n"} -{"message":"unresolved import `panic_rtt_target`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":242,"byte_end":263,"line_start":12,"line_end":12,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use panic_rtt_target as _;","highlight_start":5,"highlight_end":26}],"label":"no external crate `panic_rtt_target`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_rtt_target`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-task.rs:12:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m12\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_rtt_target as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_rtt_target`\u001b[0m\n\n"} -{"message":"failed to resolve: could not find `cyccnt` in `rtic`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared crate or module `ferris_wheel`\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":548,"byte_end":554,"line_start":20,"line_end":20,"column_start":63,"column_end":69,"is_primary":true,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]","highlight_start":63,"highlight_end":69}],"label":"could not find `cyccnt` in `rtic`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: could not find `cyccnt` in `rtic`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-task.rs:20:63\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m20\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mcould not find `cyccnt` in `rtic`\u001b[0m\n\n"} -{"message":"unused import: `core::f32::consts::PI`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":153,"byte_end":174,"line_start":9,"line_end":9,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use core::f32::consts::PI;","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":149,"byte_end":175,"line_start":9,"line_end":9,"column_start":1,"column_end":27,"is_primary":true,"text":[{"text":"use core::f32::consts::PI;","highlight_start":1,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `core::f32::consts::PI`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-task.rs:9:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse core::f32::consts::PI;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} -{"message":"unused imports: `asm`, `peripheral::DWT`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":191,"byte_end":194,"line_start":10,"line_end":10,"column_start":16,"column_end":19,"is_primary":true,"text":[{"text":"use cortex_m::{asm, peripheral::DWT};","highlight_start":16,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":196,"byte_end":211,"line_start":10,"line_end":10,"column_start":21,"column_end":36,"is_primary":true,"text":[{"text":"use cortex_m::{asm, peripheral::DWT};","highlight_start":21,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":176,"byte_end":213,"line_start":10,"line_end":10,"column_start":1,"column_end":38,"is_primary":true,"text":[{"text":"use cortex_m::{asm, peripheral::DWT};","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `asm`, `peripheral::DWT`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-task.rs:10:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse cortex_m::{asm, peripheral::DWT};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\n"} -{"message":"unused imports: `bb`, `pwm`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":380,"byte_end":382,"line_start":16,"line_end":16,"column_start":21,"column_end":23,"is_primary":true,"text":[{"text":"use stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};","highlight_start":21,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":414,"byte_end":417,"line_start":16,"line_end":16,"column_start":55,"column_end":58,"is_primary":true,"text":[{"text":"use stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};","highlight_start":55,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused imports","code":null,"level":"help","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":380,"byte_end":384,"line_start":16,"line_end":16,"column_start":21,"column_end":25,"is_primary":true,"text":[{"text":"use stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};","highlight_start":21,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":412,"byte_end":417,"line_start":16,"line_end":16,"column_start":53,"column_end":58,"is_primary":true,"text":[{"text":"use stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};","highlight_start":53,"highlight_end":58}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `bb`, `pwm`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-task.rs:16:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m16\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^\u001b[0m\n\n"} -{"message":"language item required, but not found: `eh_personality`","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: language item required, but not found: `eh_personality`\u001b[0m\n\n"} -{"message":"no method named `cycles` found for type `u32` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":4792,"byte_end":4798,"line_start":138,"line_end":138,"column_start":47,"column_end":53,"is_primary":true,"text":[{"text":" cx.schedule.pwm_out(cx.start + PERIOD.cycles()).ok();","highlight_start":47,"highlight_end":53}],"label":"method not found in `u32`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no method named `cycles` found for type `u32` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-task.rs:138:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m138\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m cx.schedule.pwm_out(cx.start + PERIOD.cycles()).ok();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmethod not found in `u32`\u001b[0m\n\n"} -{"message":"no method named `cycles` found for type `u32` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":5477,"byte_end":5483,"line_start":163,"line_end":163,"column_start":51,"column_end":57,"is_primary":true,"text":[{"text":" cx.schedule.pwm_out(cx.scheduled + PERIOD.cycles()).ok();","highlight_start":51,"highlight_end":57}],"label":"method not found in `u32`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no method named `cycles` found for type `u32` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-task.rs:163:51\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m163\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m cx.schedule.pwm_out(cx.scheduled + PERIOD.cycles()).ok();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmethod not found in `u32`\u001b[0m\n\n"} -{"message":"no method named `cycles` found for type `{integer}` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":5636,"byte_end":5642,"line_start":168,"line_end":168,"column_start":41,"column_end":47,"is_primary":true,"text":[{"text":" if cx.scheduled.elapsed() > 300.cycles() {","highlight_start":41,"highlight_end":47}],"label":"method not found in `{integer}`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no method named `cycles` found for type `{integer}` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-task.rs:168:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m168\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m if cx.scheduled.elapsed() > 300.cycles() {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmethod not found in `{integer}`\u001b[0m\n\n"} -{"message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = \"hello\".chars().rev().collect();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nA common example is the `collect` method on `Iterator`. It has a generic type\nparameter with a `FromIterator` bound, which for a `char` iterator is\nimplemented by `Vec` and `String` among others. Consider the following snippet\nthat reverses the characters of a string:\n\nIn the first code example, the compiler cannot infer what the type of `x` should\nbe: `Vec<char>` and `String` are both suitable candidates. To specify which type\nto use, you can use a type annotation on `x`:\n\n```\nlet x: Vec<char> = \"hello\".chars().rev().collect();\n```\n\nIt is not necessary to annotate the full type. Once the ambiguity is resolved,\nthe compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":486,"byte_end":584,"line_start":20,"line_end":20,"column_start":1,"column_end":99,"is_primary":true,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]","highlight_start":1,"highlight_end":99}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"examples/rtt-pwm-sine-task.rs","byte_start":486,"byte_end":584,"line_start":20,"line_end":20,"column_start":1,"column_end":99,"is_primary":false,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]","highlight_start":1,"highlight_end":99}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[rtic::app]","def_site_span":{"file_name":"/home/carlosterberg/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rtic-macros-0.5.2/src/lib.rs","byte_start":9803,"byte_end":9867,"line_start":205,"line_end":205,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"pub fn app(args: TokenStream, input: TokenStream) -> TokenStream {","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"type must be known at this point","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0282]\u001b[0m\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-sine-task.rs:20:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m20\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: type must be known at this point\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} -{"message":"aborting due to 9 previous errors; 3 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 9 previous errors; 3 warnings emitted\u001b[0m\n\n"} -{"message":"Some errors have detailed explanations: E0282, E0432, E0433, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0282, E0432, E0433, E0599.\u001b[0m\n"} -{"message":"For more information about an error, try `rustc --explain E0282`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0282`.\u001b[0m\n"} diff --git a/code/target/debug/.fingerprint/app-a5e6a86828188512/invoked.timestamp b/code/target/debug/.fingerprint/app-a5e6a86828188512/invoked.timestamp new file mode 100644 index 0000000000000000000000000000000000000000..e00328da5aa8e7fba830f8cc8d04777646c36cff --- /dev/null +++ b/code/target/debug/.fingerprint/app-a5e6a86828188512/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/code/target/debug/.fingerprint/app-a5e6a86828188512/output-example-rtic_blinky b/code/target/debug/.fingerprint/app-a5e6a86828188512/output-example-rtic_blinky new file mode 100644 index 0000000000000000000000000000000000000000..0f5bb010f22d0a755ea3cf37d24bc9dfd0d7cbce --- /dev/null +++ b/code/target/debug/.fingerprint/app-a5e6a86828188512/output-example-rtic_blinky @@ -0,0 +1,10 @@ +{"message":"unresolved import `rtic::cyccnt`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_blinky.rs","byte_start":419,"byte_end":425,"line_start":18,"line_end":18,"column_start":11,"column_end":17,"is_primary":true,"text":[{"text":"use rtic::cyccnt::{Instant, U32Ext as _};","highlight_start":11,"highlight_end":17}],"label":"could not find `cyccnt` in `rtic`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `rtic::cyccnt`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_blinky.rs:18:11\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m18\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse rtic::cyccnt::{Instant, U32Ext as _};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mcould not find `cyccnt` in `rtic`\u001b[0m\n\n"} +{"message":"unresolved import `panic_semihosting`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_blinky.rs","byte_start":385,"byte_end":407,"line_start":17,"line_end":17,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"use panic_semihosting as _;","highlight_start":5,"highlight_end":27}],"label":"no external crate `panic_semihosting`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_semihosting`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_blinky.rs:17:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m17\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_semihosting as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_semihosting`\u001b[0m\n\n"} +{"message":"failed to resolve: could not find `cyccnt` in `rtic`","code":{"code":"E0433","explanation":"An undeclared crate, module, or type was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n\nIf you've expected to use a crate name:\n\n```compile_fail\nuse ferris_wheel::BigO;\n// error: failed to resolve: use of undeclared crate or module `ferris_wheel`\n```\n\nMake sure the crate has been added as a dependency in `Cargo.toml`.\n\nTo use a module from your current crate, add the `crate::` prefix to the path.\n"},"level":"error","spans":[{"file_name":"examples/rtic_blinky.rs","byte_start":539,"byte_end":545,"line_start":21,"line_end":21,"column_start":62,"column_end":68,"is_primary":true,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]","highlight_start":62,"highlight_end":68}],"label":"could not find `cyccnt` in `rtic`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m: failed to resolve: could not find `cyccnt` in `rtic`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_blinky.rs:21:62\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m21\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mcould not find `cyccnt` in `rtic`\u001b[0m\n\n"} +{"message":"language item required, but not found: `eh_personality`","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: language item required, but not found: `eh_personality`\u001b[0m\n\n"} +{"message":"no method named `cycles` found for type `{integer}` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_blinky.rs","byte_start":1431,"byte_end":1437,"line_start":43,"line_end":43,"column_start":44,"column_end":50,"is_primary":true,"text":[{"text":" cx.schedule.toggle(now + 8_000_000.cycles()).unwrap();","highlight_start":44,"highlight_end":50}],"label":"method not found in `{integer}`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no method named `cycles` found for type `{integer}` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_blinky.rs:43:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m43\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m cx.schedule.toggle(now + 8_000_000.cycles()).unwrap();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmethod not found in `{integer}`\u001b[0m\n\n"} +{"message":"no method named `cycles` found for type `{integer}` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_blinky.rs","byte_start":2250,"byte_end":2256,"line_start":69,"line_end":69,"column_start":46,"column_end":52,"is_primary":true,"text":[{"text":" .toggle(cx.scheduled + 8_000_000.cycles())","highlight_start":46,"highlight_end":52}],"label":"method not found in `{integer}`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0599]\u001b[0m\u001b[0m\u001b[1m: no method named `cycles` found for type `{integer}` in the current scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_blinky.rs:69:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m69\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m .toggle(cx.scheduled + 8_000_000.cycles())\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mmethod not found in `{integer}`\u001b[0m\n\n"} +{"message":"type annotations needed","code":{"code":"E0282","explanation":"The compiler could not infer a type and asked for a type annotation.\n\nErroneous code example:\n\n```compile_fail,E0282\nlet x = \"hello\".chars().rev().collect();\n```\n\nThis error indicates that type inference did not result in one unique possible\ntype, and extra information is required. In most cases this can be provided\nby adding a type annotation. Sometimes you need to specify a generic type\nparameter manually.\n\nA common example is the `collect` method on `Iterator`. It has a generic type\nparameter with a `FromIterator` bound, which for a `char` iterator is\nimplemented by `Vec` and `String` among others. Consider the following snippet\nthat reverses the characters of a string:\n\nIn the first code example, the compiler cannot infer what the type of `x` should\nbe: `Vec<char>` and `String` are both suitable candidates. To specify which type\nto use, you can use a type annotation on `x`:\n\n```\nlet x: Vec<char> = \"hello\".chars().rev().collect();\n```\n\nIt is not necessary to annotate the full type. Once the ambiguity is resolved,\nthe compiler can infer the rest:\n\n```\nlet x: Vec<_> = \"hello\".chars().rev().collect();\n```\n\nAnother way to provide the compiler with enough information, is to specify the\ngeneric type parameter:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<char>>();\n```\n\nAgain, you need not specify the full type if the compiler can infer it:\n\n```\nlet x = \"hello\".chars().rev().collect::<Vec<_>>();\n```\n\nApart from a method or function with a generic type parameter, this error can\noccur when a type parameter of a struct or trait cannot be inferred. In that\ncase it is not always possible to use a type annotation, because all candidates\nhave the same return type. For instance:\n\n```compile_fail,E0282\nstruct Foo<T> {\n num: T,\n}\n\nimpl<T> Foo<T> {\n fn bar() -> i32 {\n 0\n }\n\n fn baz() {\n let number = Foo::bar();\n }\n}\n```\n\nThis will fail because the compiler does not know which instance of `Foo` to\ncall `bar` on. Change `Foo::bar()` to `Foo::<T>::bar()` to resolve the error.\n"},"level":"error","spans":[{"file_name":"examples/rtic_blinky.rs","byte_start":478,"byte_end":575,"line_start":21,"line_end":21,"column_start":1,"column_end":98,"is_primary":true,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]","highlight_start":1,"highlight_end":98}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"examples/rtic_blinky.rs","byte_start":478,"byte_end":575,"line_start":21,"line_end":21,"column_start":1,"column_end":98,"is_primary":false,"text":[{"text":"#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]","highlight_start":1,"highlight_end":98}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"#[rtic::app]","def_site_span":{"file_name":"/home/carlosterberg/.cargo/registry/src/github.com-1ecc6299db9ec823/cortex-m-rtic-macros-0.5.2/src/lib.rs","byte_start":9803,"byte_end":9867,"line_start":205,"line_end":205,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"pub fn app(args: TokenStream, input: TokenStream) -> TokenStream {","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"type must be known at this point","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0282]\u001b[0m\u001b[0m\u001b[1m: type annotations needed\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_blinky.rs:21:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m21\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m#[rtic::app(device = stm32f4xx_hal::stm32, monotonic = rtic::cyccnt::CYCCNT, peripherals = true)]\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: type must be known at this point\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} +{"message":"aborting due to 7 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 7 previous errors\u001b[0m\n\n"} +{"message":"Some errors have detailed explanations: E0282, E0432, E0433, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mSome errors have detailed explanations: E0282, E0432, E0433, E0599.\u001b[0m\n"} +{"message":"For more information about an error, try `rustc --explain E0282`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about an error, try `rustc --explain E0282`.\u001b[0m\n"} diff --git a/code/target/debug/.fingerprint/app-cbf86cdb0b676891/invoked.timestamp b/code/target/debug/.fingerprint/app-cbf86cdb0b676891/invoked.timestamp new file mode 100644 index 0000000000000000000000000000000000000000..e00328da5aa8e7fba830f8cc8d04777646c36cff --- /dev/null +++ b/code/target/debug/.fingerprint/app-cbf86cdb0b676891/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/code/target/debug/.fingerprint/app-7eda0d76c86b0222/output-example-rtic_bare3 b/code/target/debug/.fingerprint/app-cbf86cdb0b676891/output-example-rtic_bare1 similarity index 52% rename from code/target/debug/.fingerprint/app-7eda0d76c86b0222/output-example-rtic_bare3 rename to code/target/debug/.fingerprint/app-cbf86cdb0b676891/output-example-rtic_bare1 index 33b20408589232edc53ee8132b9a04aaca8067a0..e9a1fc1de855a216839c4a691d28838a799593a7 100644 --- a/code/target/debug/.fingerprint/app-7eda0d76c86b0222/output-example-rtic_bare3 +++ b/code/target/debug/.fingerprint/app-cbf86cdb0b676891/output-example-rtic_bare1 @@ -1,5 +1,5 @@ -{"message":"unresolved import `rtic::cyccnt`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare3.rs","byte_start":284,"byte_end":290,"line_start":15,"line_end":15,"column_start":11,"column_end":17,"is_primary":true,"text":[{"text":"use rtic::cyccnt::Instant;","highlight_start":11,"highlight_end":17}],"label":"could not find `cyccnt` in `rtic`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `rtic::cyccnt`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare3.rs:15:11\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m15\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse rtic::cyccnt::Instant;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mcould not find `cyccnt` in `rtic`\u001b[0m\n\n"} -{"message":"unresolved import `panic_semihosting`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare3.rs","byte_start":250,"byte_end":272,"line_start":14,"line_end":14,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"use panic_semihosting as _;","highlight_start":5,"highlight_end":27}],"label":"no external crate `panic_semihosting`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_semihosting`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare3.rs:14:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m14\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_semihosting as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_semihosting`\u001b[0m\n\n"} +{"message":"unresolved import `panic_semihosting`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare1.rs","byte_start":180,"byte_end":202,"line_start":12,"line_end":12,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"use panic_semihosting as _;","highlight_start":5,"highlight_end":27}],"label":"no external crate `panic_semihosting`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_semihosting`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare1.rs:12:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m12\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_semihosting as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_semihosting`\u001b[0m\n\n"} +{"message":"`#[panic_handler]` function required, but not found","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: `#[panic_handler]` function required, but not found\u001b[0m\n\n"} {"message":"language item required, but not found: `eh_personality`","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: language item required, but not found: `eh_personality`\u001b[0m\n\n"} {"message":"aborting due to 3 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 3 previous errors\u001b[0m\n\n"} {"message":"For more information about this error, try `rustc --explain E0432`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0432`.\u001b[0m\n"} diff --git a/code/target/debug/examples/rtic_bare1-cbf86cdb0b676891.d b/code/target/debug/examples/rtic_bare1-cbf86cdb0b676891.d new file mode 100644 index 0000000000000000000000000000000000000000..f070fd64c3beffb96a83d69347205823af70dc8b --- /dev/null +++ b/code/target/debug/examples/rtic_bare1-cbf86cdb0b676891.d @@ -0,0 +1,5 @@ +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtic_bare1-cbf86cdb0b676891.rmeta: examples/rtic_bare1.rs + +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtic_bare1-cbf86cdb0b676891.d: examples/rtic_bare1.rs + +examples/rtic_bare1.rs: diff --git a/code/target/debug/examples/rtic_bare7-5a53308fdbbde18a.d b/code/target/debug/examples/rtic_bare7-5a53308fdbbde18a.d new file mode 100644 index 0000000000000000000000000000000000000000..b59ea1c823c92b3998a3843265f0d3b7caf9f3d3 --- /dev/null +++ b/code/target/debug/examples/rtic_bare7-5a53308fdbbde18a.d @@ -0,0 +1,5 @@ +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtic_bare7-5a53308fdbbde18a.rmeta: examples/rtic_bare7.rs + +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtic_bare7-5a53308fdbbde18a.d: examples/rtic_bare7.rs + +examples/rtic_bare7.rs: diff --git a/code/target/debug/examples/rtic_bare8-1bd1ca6a32f3f109.d b/code/target/debug/examples/rtic_bare8-1bd1ca6a32f3f109.d new file mode 100644 index 0000000000000000000000000000000000000000..06b2c25d39aeee6eff1a66ac8e35797c47922271 --- /dev/null +++ b/code/target/debug/examples/rtic_bare8-1bd1ca6a32f3f109.d @@ -0,0 +1,5 @@ +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtic_bare8-1bd1ca6a32f3f109.rmeta: examples/rtic_bare8.rs + +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtic_bare8-1bd1ca6a32f3f109.d: examples/rtic_bare8.rs + +examples/rtic_bare8.rs: diff --git a/code/target/debug/examples/rtic_blinky-a5e6a86828188512.d b/code/target/debug/examples/rtic_blinky-a5e6a86828188512.d new file mode 100644 index 0000000000000000000000000000000000000000..8cb5278ab5376f42db97ade4b70edebc8b09e8d3 --- /dev/null +++ b/code/target/debug/examples/rtic_blinky-a5e6a86828188512.d @@ -0,0 +1,5 @@ +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtic_blinky-a5e6a86828188512.rmeta: examples/rtic_blinky.rs + +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtic_blinky-a5e6a86828188512.d: examples/rtic_blinky.rs + +examples/rtic_blinky.rs: diff --git a/code/target/debug/examples/rtt_pwm_saw-3b55db1e31274f66.d b/code/target/debug/examples/rtt_pwm_saw-3b55db1e31274f66.d new file mode 100644 index 0000000000000000000000000000000000000000..4aac489cd1ddebd5d5d587a589cd285a02eafd36 --- /dev/null +++ b/code/target/debug/examples/rtt_pwm_saw-3b55db1e31274f66.d @@ -0,0 +1,5 @@ +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtt_pwm_saw-3b55db1e31274f66.rmeta: examples/rtt-pwm-saw.rs + +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtt_pwm_saw-3b55db1e31274f66.d: examples/rtt-pwm-saw.rs + +examples/rtt-pwm-saw.rs: diff --git a/code/target/debug/examples/rtt_pwm_sine_timer_task-2ea25696ab5416e4.d b/code/target/debug/examples/rtt_pwm_sine_timer_task-2ea25696ab5416e4.d new file mode 100644 index 0000000000000000000000000000000000000000..6fc88878a3e737e696db799d57b88e4f776ec495 --- /dev/null +++ b/code/target/debug/examples/rtt_pwm_sine_timer_task-2ea25696ab5416e4.d @@ -0,0 +1,8 @@ +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtt_pwm_sine_timer_task-2ea25696ab5416e4.rmeta: examples/rtt-pwm-sine-timer-task.rs /home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/build/app-bd7780a453c10162/out/sin_abs_const.rs + +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtt_pwm_sine_timer_task-2ea25696ab5416e4.d: examples/rtt-pwm-sine-timer-task.rs /home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/build/app-bd7780a453c10162/out/sin_abs_const.rs + +examples/rtt-pwm-sine-timer-task.rs: +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/build/app-bd7780a453c10162/out/sin_abs_const.rs: + +# env-dep:OUT_DIR=/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/build/app-bd7780a453c10162/out diff --git a/code/target/debug/examples/rtt_rtic_usb_mouse-6febdde1bc53639a.d b/code/target/debug/examples/rtt_rtic_usb_mouse-6febdde1bc53639a.d new file mode 100644 index 0000000000000000000000000000000000000000..c2be96f80fe72a8c52d8eb7d620fd96ba6a123a0 --- /dev/null +++ b/code/target/debug/examples/rtt_rtic_usb_mouse-6febdde1bc53639a.d @@ -0,0 +1,5 @@ +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtt_rtic_usb_mouse-6febdde1bc53639a.rmeta: examples/rtt_rtic_usb_mouse.rs + +/home/carlosterberg/Skrivbord/gamingmouse/code/target/debug/examples/rtt_rtic_usb_mouse-6febdde1bc53639a.d: examples/rtt_rtic_usb_mouse.rs + +examples/rtt_rtic_usb_mouse.rs: diff --git a/code/target/rtic-expansion.rs b/code/target/rtic-expansion.rs index cc6b47ab014ce75cab286b182df259c01ecbad4f..b8f07377c52d01b4b3f9c27d89bb0631f35e8d9b 100644 --- a/code/target/rtic-expansion.rs +++ b/code/target/rtic-expansion.rs @@ -1,40 +1,62 @@ -#[allow(non_snake_case)] fn init(cx : init :: Context) -> init :: +#[allow(non_snake_case)] fn init(mut cx : init :: Context) -> init :: LateResources { - rtt_init_print ! () ; rprintln ! ("init") ; let device = cx . device ; let - rcc = device . RCC . constrain() ; let clocks = rcc . cfgr . freeze() ; - let gpioc = device . GPIOC . split() ; let gpiob = device . GPIOB . - split() ; let mb2 = gpioc . pc6 . into_pull_up_input() ; let mb1 = gpioc . - pc7 . into_pull_up_input() ; let mb5 = gpiob . pb15 . into_pull_up_input() - ; let mb4 = gpiob . pb14 . into_pull_up_input() ; let dpib1 = gpiob . pb13 - . into_pull_up_input() ; let dpib2 = gpiob . pb12 . into_pull_up_input() ; - let mut timer = timer :: Timer :: tim3(device . TIM3, 1 . khz(), clocks) ; - timer . listen(timer :: Event :: TimeOut) ; init :: LateResources - { - MB1 : mb1, MB2 : mb2, MB4 : mb4, MB5 : mb5, DPIB1 : dpib1, DPIB2 : - dpib2, timer - } + rtt_init_print ! () ; rprintln ! ("init") ; let dp = cx . device ; cx . + core . DCB . enable_trace() ; cx . core . DWT . enable_cycle_counter() ; + let rcc = dp . RCC . constrain() ; let clocks = rcc . cfgr . + sysclk(96 . mhz()) . pclk1(24 . mhz()) . freeze() ; let gpioa = dp . GPIOA + . split() ; let channels = + (gpioa . pa8 . into_alternate_af1() . set_speed(Speed :: VeryHigh), gpioa + . pa9 . into_alternate_af1() . set_speed(Speed :: VeryHigh),) ; let tim1 + = dp . TIM1 ; let rcc = unsafe { & (* stm32 :: RCC :: ptr()) } ; rcc . + apb2enr . modify(| _, w | w . tim1en() . set_bit()) ; rcc . apb2rstr . + modify(| _, w | w . tim1rst() . set_bit()) ; rcc . apb2rstr . + modify(| _, w | w . tim1rst() . clear_bit()) ; tim1 . ccmr1_output() . + modify(| _, w | w . oc1pe() . set_bit() . oc1m() . pwm_mode1()) ; tim1 . + ccmr1_output() . + modify(| _, w | w . oc2pe() . set_bit() . oc2m() . pwm_mode1()) ; tim1 . + cr1 . modify(| _, w | w . arpe() . set_bit()) ; let clk = clocks . pclk2() + . 0 * if clocks . ppre2() == 1 { 1 } else { 2 } ; rprintln ! + ("clk {}", clk) ; let pre = 0 ; rprintln ! ("pre {}", pre) ; tim1 . psc . + write(| w | w . psc() . bits(pre)) ; let arr = 255 ; rprintln ! + ("arr {}", arr) ; tim1 . arr . write(| w | unsafe { w . bits(arr) }) ; + tim1 . cr1 . modify(| _, w | w . urs() . set_bit()) ; tim1 . egr . + write(| w | w . ug() . set_bit()) ; tim1 . cr1 . + modify(| _, w | w . urs() . clear_bit()) ; tim1 . bdtr . + modify(| _, w | w . moe() . set_bit()) ; tim1 . ccer . + write(| w | w . cc1e() . set_bit() . cc2e() . set_bit()) ; tim1 . cr1 . + write(| w | + { + w . cms() . bits(0b00) . dir() . clear_bit() . opm() . + clear_bit() . cen() . set_bit() + }) ; tim1 . bdtr . modify(| _, w | w . moe() . set_bit()) ; tim1 . + ccr1 . write(| w | unsafe { w . ccr() . bits(128) }) ; tim1 . ccr2 . + write(| w | unsafe { w . ccr() . bits(128) }) ; tim1 . cr2 . + write(| w | w . ccpc() . set_bit()) ; tim1 . dier . + write(| w | w . uie() . enabled()) ; tim1 . sr . + modify(| _, w | w . uif() . clear()) ; while tim1 . sr . read() . uif() . + is_clear() { rprint ! ("-") ; } rprintln ! ("here") ; tim1 . sr . + modify(| _, w | w . uif() . clear()) ; let mut tim2 : Timer < stm32 :: + TIM2 > = Timer :: tim2(dp . TIM2, 48000, clocks) ; tim2 . + listen(Event :: TimeOut) ; init :: LateResources + { TIM1 : tim1, timer2 : tim2, } } #[allow(non_snake_case)] fn idle(_cx : idle :: Context) -> ! -{ use rtic :: Mutex as _ ; loop { continue ; } } #[allow(non_snake_case)] fn -tick(mut cx : tick :: Context) { - use rtic :: Mutex as _ ; cx . resources . timer . - clear_interrupt(timer :: Event :: TimeOut) ; if cx . resources . MB1 . - is_low() . unwrap() { rprintln ! ("MB1") ; } if cx . resources . MB2 . - is_low() . unwrap() { rprintln ! ("MB2") ; } if cx . resources . MB4 . - is_low() . unwrap() { rprintln ! ("MB4") ; } if cx . resources . MB5 . - is_low() . unwrap() { rprintln ! ("MB5") ; } if cx . resources . DPIB1 . - is_low() . unwrap() { rprintln ! ("DPIB1") ; } if cx . resources . DPIB2 . - is_low() . unwrap() { rprintln ! ("DPIB2") ; } -} #[doc = r" Resources initialized at runtime"] #[allow(non_snake_case)] pub -struct initLateResources + use rtic :: Mutex as _ ; rprintln ! ("idle") ; loop + { rprintln ! ("-") ; continue ; } +} #[allow(non_snake_case)] fn +tim2(tim2 :: Locals { INDEX, LEFT, RIGHT, .. } : tim2 :: Locals, cx : tim2 :: + Context) { - pub DPIB1 : gpiob :: PB13 < Input < PullUp > >, pub DPIB2 : gpiob :: PB12 - < Input < PullUp > >, pub MB1 : gpioc :: PC7 < Input < PullUp > >, pub MB2 - : gpioc :: PC6 < Input < PullUp > >, pub MB4 : gpiob :: PB14 < Input < - PullUp > >, pub MB5 : gpiob :: PB15 < Input < PullUp > >, pub timer : - timer :: Timer < stm32 :: TIM3 > -} #[allow(non_snake_case)] #[doc = "Initialization function"] pub mod init + use rtic :: Mutex as _ ; cx . resources . timer2 . + clear_interrupt(Event :: TimeOut) ; let tim1 = cx . resources . TIM1 ; + tim1 . ccr1 . write(| w | unsafe { w . ccr() . bits(* LEFT) }) ; tim1 . + ccr2 . write(| w | unsafe { w . ccr() . bits(* RIGHT) }) ; * INDEX = + (* INDEX) . wrapping_add(10_000) ; * LEFT = SINE_BUF [* INDEX as usize] as + u16 ; * RIGHT = SINE_BUF [* INDEX as usize] as u16 ; +} #[doc = r" Resources initialized at runtime"] #[allow(non_snake_case)] pub +struct initLateResources { pub TIM1 : stm32 :: TIM1, pub timer2 : Timer2 } +#[allow(non_snake_case)] #[doc = "Initialization function"] pub mod init { #[doc(inline)] pub use super :: initLateResources as LateResources ; #[doc = r" Execution context"] pub struct Context < > @@ -62,19 +84,14 @@ struct initLateResources #[inline(always)] pub unsafe fn new(priority : & rtic :: export :: Priority) -> Self { Context { } } } -} #[allow(non_snake_case)] #[doc = "Resources `tick` has access to"] pub -struct tickResources < 'a > +} #[allow(non_snake_case)] #[doc = "Resources `tim2` has access to"] pub +struct tim2Resources < 'a > +{ pub TIM1 : & 'a mut stm32 :: TIM1, pub timer2 : & 'a mut Timer2, } +#[allow(non_snake_case)] #[doc = "Hardware task"] pub mod tim2 { - pub MB1 : & 'a mut gpioc :: PC7 < Input < PullUp > >, pub MB2 : & 'a mut - gpioc :: PC6 < Input < PullUp > >, pub MB4 : & 'a mut gpiob :: PB14 < - Input < PullUp > >, pub MB5 : & 'a mut gpiob :: PB15 < Input < PullUp > >, - pub DPIB1 : & 'a mut gpiob :: PB13 < Input < PullUp > >, pub DPIB2 : & 'a - mut gpiob :: PB12 < Input < PullUp > >, pub timer : & 'a mut timer :: - Timer < stm32 :: TIM3 >, -} #[allow(non_snake_case)] #[doc = "Hardware task"] pub mod tick -{ - #[doc(inline)] pub use super :: tickResources as Resources ; - #[doc = r" Execution context"] pub struct Context < 'a > + #[doc(inline)] pub use super :: tim2Locals as Locals ; #[doc(inline)] pub + use super :: tim2Resources as Resources ; #[doc = r" Execution context"] + pub struct Context < 'a > { #[doc = r" Resources this task has access to"] pub resources : Resources < 'a >, @@ -84,6 +101,16 @@ struct tickResources < 'a > new(priority : & 'a rtic :: export :: Priority) -> Self { Context { resources : Resources :: new(priority), } } } +} #[allow(non_snake_case)] #[doc(hidden)] pub struct tim2Locals < 'a > +{ INDEX : & 'a mut u16, LEFT : & 'a mut u16, RIGHT : & 'a mut u16 } impl < 'a +> tim2Locals < 'a > +{ + #[inline(always)] unsafe fn new() -> Self + { + static mut INDEX : u16 = 0 ; static mut LEFT : u16 = 0 ; static mut + RIGHT : u16 = 0 ; tim2Locals + { INDEX : & mut INDEX, LEFT : & mut LEFT, RIGHT : & mut RIGHT } + } } #[doc = r" Implementation details"] const APP : () = { #[doc = @@ -91,77 +118,48 @@ struct tickResources < 'a > stm32f4xx_hal :: stm32 as _ ; #[cfg(core = "1")] compile_error ! ("specified 1 core but tried to compile for more than 1 core") ; #[allow(non_upper_case_globals)] #[link_section = ".uninit.rtic0"] static - mut MB1 : core :: mem :: MaybeUninit < gpioc :: PC7 < Input < PullUp > > > - = core :: mem :: MaybeUninit :: uninit() ; - #[allow(non_upper_case_globals)] #[link_section = ".uninit.rtic1"] static - mut MB2 : core :: mem :: MaybeUninit < gpioc :: PC6 < Input < PullUp > > > - = core :: mem :: MaybeUninit :: uninit() ; - #[allow(non_upper_case_globals)] #[link_section = ".uninit.rtic2"] static - mut MB4 : core :: mem :: MaybeUninit < gpiob :: PB14 < Input < PullUp > > - > = core :: mem :: MaybeUninit :: uninit() ; - #[allow(non_upper_case_globals)] #[link_section = ".uninit.rtic3"] static - mut MB5 : core :: mem :: MaybeUninit < gpiob :: PB15 < Input < PullUp > > - > = core :: mem :: MaybeUninit :: uninit() ; - #[allow(non_upper_case_globals)] #[link_section = ".uninit.rtic4"] static - mut DPIB1 : core :: mem :: MaybeUninit < gpiob :: PB13 < Input < PullUp > - > > = core :: mem :: MaybeUninit :: uninit() ; - #[allow(non_upper_case_globals)] #[link_section = ".uninit.rtic5"] static - mut DPIB2 : core :: mem :: MaybeUninit < gpiob :: PB12 < Input < PullUp > - > > = core :: mem :: MaybeUninit :: uninit() ; - #[allow(non_upper_case_globals)] #[link_section = ".uninit.rtic6"] static - mut timer : core :: mem :: MaybeUninit < timer :: Timer < stm32 :: TIM3 > - > = core :: mem :: MaybeUninit :: uninit() ; #[allow(non_snake_case)] - #[no_mangle] unsafe fn TIM3() + mut TIM1 : core :: mem :: MaybeUninit < stm32 :: TIM1 > = core :: mem :: + MaybeUninit :: uninit() ; #[allow(non_upper_case_globals)] + #[link_section = ".uninit.rtic1"] static mut timer2 : core :: mem :: + MaybeUninit < Timer2 > = core :: mem :: MaybeUninit :: uninit() ; + #[allow(non_snake_case)] #[no_mangle] unsafe fn TIM2() { const PRIORITY : u8 = 1u8 ; rtic :: export :: run(PRIORITY, || { crate :: - tick(tick :: Context :: + tim2(tim2 :: Locals :: new(), tim2 :: Context :: new(& rtic :: export :: Priority :: new(PRIORITY))) }) ; - } impl < 'a > tickResources < 'a > + } impl < 'a > tim2Resources < 'a > { #[inline(always)] unsafe fn new(priority : & 'a rtic :: export :: Priority) -> Self { - tickResources + tim2Resources { - MB1 : & mut * MB1 . as_mut_ptr(), MB2 : & mut * MB2 . - as_mut_ptr(), MB4 : & mut * MB4 . as_mut_ptr(), MB5 : & mut * - MB5 . as_mut_ptr(), DPIB1 : & mut * DPIB1 . as_mut_ptr(), - DPIB2 : & mut * DPIB2 . as_mut_ptr(), timer : & mut * timer . + TIM1 : & mut * TIM1 . as_mut_ptr(), timer2 : & mut * timer2 . as_mut_ptr(), } } } #[no_mangle] unsafe extern "C" fn main() -> ! { - let _TODO : () = () ; rtic :: export :: assert_send :: < gpioc :: PC6 - < Input < PullUp > > > () ; rtic :: export :: assert_send :: < gpioc - :: PC7 < Input < PullUp > > > () ; rtic :: export :: assert_send :: < - gpiob :: PB13 < Input < PullUp > > > () ; rtic :: export :: - assert_send :: < gpiob :: PB12 < Input < PullUp > > > () ; rtic :: - export :: assert_send :: < gpiob :: PB15 < Input < PullUp > > > () ; - rtic :: export :: assert_send :: < gpiob :: PB14 < Input < PullUp > > - > () ; rtic :: export :: assert_send :: < timer :: Timer < stm32 :: - TIM3 > > () ; rtic :: export :: interrupt :: disable() ; let mut core - : rtic :: export :: Peripherals = rtic :: export :: Peripherals :: - steal() . into() ; let _ = + let _TODO : () = () ; rtic :: export :: assert_send :: < stm32 :: TIM1 + > () ; rtic :: export :: assert_send :: < Timer2 > () ; rtic :: export + :: interrupt :: disable() ; let mut core : rtic :: export :: + Peripherals = rtic :: export :: Peripherals :: steal() . into() ; let + _ = [() ; ((1 << stm32f4xx_hal :: stm32 :: NVIC_PRIO_BITS) - 1u8 as usize)] ; core . NVIC . - set_priority(stm32f4xx_hal :: stm32 :: Interrupt :: TIM3, rtic :: + set_priority(stm32f4xx_hal :: stm32 :: Interrupt :: TIM2, rtic :: export :: logical2hw(1u8, stm32f4xx_hal :: stm32 :: NVIC_PRIO_BITS),) ; rtic :: export :: NVIC :: - unmask(stm32f4xx_hal :: stm32 :: Interrupt :: TIM3) ; let late = crate - :: init(init :: Context :: new(core . into())) ; DPIB1 . as_mut_ptr() - . write(late . DPIB1) ; DPIB2 . as_mut_ptr() . write(late . DPIB2) ; - MB1 . as_mut_ptr() . write(late . MB1) ; MB2 . as_mut_ptr() . - write(late . MB2) ; MB4 . as_mut_ptr() . write(late . MB4) ; MB5 . - as_mut_ptr() . write(late . MB5) ; timer . as_mut_ptr() . - write(late . timer) ; rtic :: export :: interrupt :: enable() ; crate - :: + unmask(stm32f4xx_hal :: stm32 :: Interrupt :: TIM2) ; let late = crate + :: init(init :: Context :: new(core . into())) ; TIM1 . as_mut_ptr() . + write(late . TIM1) ; timer2 . as_mut_ptr() . write(late . timer2) ; + rtic :: export :: interrupt :: enable() ; crate :: idle(idle :: Context :: new(& rtic :: export :: Priority :: new(0))) } } ; \ No newline at end of file diff --git a/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-8713fbe826c53984/output-example-rtt-timing b/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-146de1a2d977f5f8/output-example-rtt_rtic_blinky similarity index 67% rename from code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-8713fbe826c53984/output-example-rtt-timing rename to code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-146de1a2d977f5f8/output-example-rtt_rtic_blinky index ea613ab6be22535917c0c662e68def05baac6fdf..135424e375f2511f85252e020e31983f34046427 100644 --- a/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-8713fbe826c53984/output-example-rtt-timing +++ b/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-146de1a2d977f5f8/output-example-rtt_rtic_blinky @@ -1,4 +1,4 @@ -{"message":"unresolved import `panic_rtt_target`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt-timing.rs","byte_start":171,"byte_end":192,"line_start":10,"line_end":10,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use panic_rtt_target as _;","highlight_start":5,"highlight_end":26}],"label":"no external crate `panic_rtt_target`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_rtt_target`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-timing.rs:10:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_rtt_target as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_rtt_target`\u001b[0m\n\n"} +{"message":"unresolved import `panic_rtt_target`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt_rtic_blinky.rs","byte_start":100,"byte_end":121,"line_start":7,"line_end":7,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use panic_rtt_target as _;","highlight_start":5,"highlight_end":26}],"label":"no external crate `panic_rtt_target`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_rtt_target`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt_rtic_blinky.rs:7:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_rtt_target as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_rtt_target`\u001b[0m\n\n"} {"message":"`#[panic_handler]` function required, but not found","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: `#[panic_handler]` function required, but not found\u001b[0m\n\n"} {"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 2 previous errors\u001b[0m\n\n"} {"message":"For more information about this error, try `rustc --explain E0432`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0432`.\u001b[0m\n"} diff --git a/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-382856900fdc50c9/output-example-rtic_blinky b/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-382856900fdc50c9/output-example-rtic_blinky new file mode 100644 index 0000000000000000000000000000000000000000..b67db77c4d9a7174ad49644fea9acffeffc84173 --- /dev/null +++ b/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-382856900fdc50c9/output-example-rtic_blinky @@ -0,0 +1,4 @@ +{"message":"unresolved import `panic_semihosting`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_blinky.rs","byte_start":385,"byte_end":407,"line_start":17,"line_end":17,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"use panic_semihosting as _;","highlight_start":5,"highlight_end":27}],"label":"no external crate `panic_semihosting`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_semihosting`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_blinky.rs:17:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m17\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_semihosting as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_semihosting`\u001b[0m\n\n"} +{"message":"`#[panic_handler]` function required, but not found","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: `#[panic_handler]` function required, but not found\u001b[0m\n\n"} +{"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 2 previous errors\u001b[0m\n\n"} +{"message":"For more information about this error, try `rustc --explain E0432`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0432`.\u001b[0m\n"} diff --git a/code/target/debug/.fingerprint/app-a2368f96dca4453a/output-example-rtic_panic b/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-513009f3d6c500fd/output-example-rtic_panic similarity index 89% rename from code/target/debug/.fingerprint/app-a2368f96dca4453a/output-example-rtic_panic rename to code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-513009f3d6c500fd/output-example-rtic_panic index 7a5459bd953c75fac0445bb0f4caa93794e1bcf2..a95af8d15829128ab2ddcbd828c385daeea7c3b3 100644 --- a/code/target/debug/.fingerprint/app-a2368f96dca4453a/output-example-rtic_panic +++ b/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-513009f3d6c500fd/output-example-rtic_panic @@ -1,5 +1,4 @@ {"message":"unresolved import `panic_semihosting`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_panic.rs","byte_start":249,"byte_end":271,"line_start":12,"line_end":12,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"use panic_semihosting as _;","highlight_start":5,"highlight_end":27}],"label":"no external crate `panic_semihosting`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_semihosting`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_panic.rs:12:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m12\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_semihosting as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_semihosting`\u001b[0m\n\n"} {"message":"`#[panic_handler]` function required, but not found","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: `#[panic_handler]` function required, but not found\u001b[0m\n\n"} -{"message":"language item required, but not found: `eh_personality`","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: language item required, but not found: `eh_personality`\u001b[0m\n\n"} -{"message":"aborting due to 3 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 3 previous errors\u001b[0m\n\n"} +{"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 2 previous errors\u001b[0m\n\n"} {"message":"For more information about this error, try `rustc --explain E0432`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0432`.\u001b[0m\n"} diff --git a/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-583a2d666d43cf32/output-example-rtt-pwm-dma b/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-583a2d666d43cf32/output-example-rtt-pwm-dma deleted file mode 100644 index 5da557ac4ab15977d201dbc64713f5ea3e6b035f..0000000000000000000000000000000000000000 --- a/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-583a2d666d43cf32/output-example-rtt-pwm-dma +++ /dev/null @@ -1,5 +0,0 @@ -{"message":"unresolved import `stm32f4xx_hal::dma`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtt-pwm-dma.rs","byte_start":272,"byte_end":275,"line_start":12,"line_end":12,"column_start":25,"column_end":28,"is_primary":true,"text":[{"text":"use stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};","highlight_start":25,"highlight_end":28}],"label":"no `dma` in the root","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `stm32f4xx_hal::dma`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-dma.rs:12:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m12\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno `dma` in the root\u001b[0m\n\n"} -{"message":"unused imports: `asm`, `peripheral::DWT`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"examples/rtt-pwm-dma.rs","byte_start":152,"byte_end":155,"line_start":9,"line_end":9,"column_start":16,"column_end":19,"is_primary":true,"text":[{"text":"use cortex_m::{asm, peripheral::DWT};","highlight_start":16,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"examples/rtt-pwm-dma.rs","byte_start":157,"byte_end":172,"line_start":9,"line_end":9,"column_start":21,"column_end":36,"is_primary":true,"text":[{"text":"use cortex_m::{asm, peripheral::DWT};","highlight_start":21,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"examples/rtt-pwm-dma.rs","byte_start":137,"byte_end":174,"line_start":9,"line_end":9,"column_start":1,"column_end":38,"is_primary":true,"text":[{"text":"use cortex_m::{asm, peripheral::DWT};","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused imports: `asm`, `peripheral::DWT`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-dma.rs:9:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse cortex_m::{asm, peripheral::DWT};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} -{"message":"unused import: `pwm`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"examples/rtt-pwm-dma.rs","byte_start":302,"byte_end":305,"line_start":12,"line_end":12,"column_start":55,"column_end":58,"is_primary":true,"text":[{"text":"use stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};","highlight_start":55,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"examples/rtt-pwm-dma.rs","byte_start":300,"byte_end":305,"line_start":12,"line_end":12,"column_start":53,"column_end":58,"is_primary":true,"text":[{"text":"use stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};","highlight_start":53,"highlight_end":58}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `pwm`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtt-pwm-dma.rs:12:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m12\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse stm32f4xx_hal::{bb, dma, gpio::Speed, prelude::*, pwm, stm32};\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^\u001b[0m\n\n"} -{"message":"aborting due to previous error; 2 warnings emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to previous error; 2 warnings emitted\u001b[0m\n\n"} -{"message":"For more information about this error, try `rustc --explain E0432`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0432`.\u001b[0m\n"} diff --git a/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-d3542c7fcc1c06ea/output-example-rtic_bare6 b/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-d3542c7fcc1c06ea/output-example-rtic_bare6 deleted file mode 100644 index 9f6c300bb860e913b4a55b1ea9f3427cb89a52fe..0000000000000000000000000000000000000000 --- a/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-d3542c7fcc1c06ea/output-example-rtic_bare6 +++ /dev/null @@ -1,4 +0,0 @@ -{"message":"unresolved import `panic_rtt_target`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare6.rs","byte_start":234,"byte_end":255,"line_start":13,"line_end":13,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use panic_rtt_target as _;","highlight_start":5,"highlight_end":26}],"label":"no external crate `panic_rtt_target`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_rtt_target`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare6.rs:13:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m13\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_rtt_target as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_rtt_target`\u001b[0m\n\n"} -{"message":"`#[panic_handler]` function required, but not found","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: `#[panic_handler]` function required, but not found\u001b[0m\n\n"} -{"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 2 previous errors\u001b[0m\n\n"} -{"message":"For more information about this error, try `rustc --explain E0432`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0432`.\u001b[0m\n"} diff --git a/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-f597367d9864d826/output-example-rtic_bare3 b/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-f597367d9864d826/output-example-rtic_bare3 new file mode 100644 index 0000000000000000000000000000000000000000..e2bb00ca3ef5be268ca95080f31aef4f1a544e27 --- /dev/null +++ b/code/target/thumbv7em-none-eabihf/debug/.fingerprint/app-f597367d9864d826/output-example-rtic_bare3 @@ -0,0 +1,4 @@ +{"message":"unresolved import `panic_semihosting`","code":{"code":"E0432","explanation":"An import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nIn Rust 2015, paths in `use` statements are relative to the crate root. To\nimport items relative to the current and parent modules, use the `self::` and\n`super::` prefixes, respectively.\n\nIn Rust 2018, paths in `use` statements are relative to the current module\nunless they begin with the name of a crate or a literal `crate::`, in which\ncase they start from the crate root. As in Rust 2015 code, the `self::` and\n`super::` prefixes refer to the current and parent modules respectively.\n\nAlso verify that you didn't misspell the import name and that the import exists\nin the module from where you tried to import it. Example:\n\n```\nuse self::something::Foo; // Ok.\n\nmod something {\n pub struct Foo;\n}\n# fn main() {}\n```\n\nIf you tried to use a module from an external crate and are using Rust 2015,\nyou may have missed the `extern crate` declaration (which is usually placed in\nthe crate root):\n\n```edition2015\nextern crate core; // Required to use the `core` crate in Rust 2015.\n\nuse core::any;\n# fn main() {}\n```\n\nIn Rust 2018 the `extern crate` declaration is not required and you can instead\njust `use` it:\n\n```edition2018\nuse core::any; // No extern crate required in Rust 2018.\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"examples/rtic_bare3.rs","byte_start":250,"byte_end":272,"line_start":14,"line_end":14,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"use panic_semihosting as _;","highlight_start":5,"highlight_end":27}],"label":"no external crate `panic_semihosting`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0432]\u001b[0m\u001b[0m\u001b[1m: unresolved import `panic_semihosting`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mexamples/rtic_bare3.rs:14:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m14\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse panic_semihosting as _;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mno external crate `panic_semihosting`\u001b[0m\n\n"} +{"message":"`#[panic_handler]` function required, but not found","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: `#[panic_handler]` function required, but not found\u001b[0m\n\n"} +{"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m: aborting due to 2 previous errors\u001b[0m\n\n"} +{"message":"For more information about this error, try `rustc --explain E0432`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1mFor more information about this error, try `rustc --explain E0432`.\u001b[0m\n"}