aboutsummaryrefslogtreecommitdiff
path: root/embassy-boot-rp
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2024-06-17 01:38:57 +0200
committerDario Nieuwenhuis <[email protected]>2024-06-17 01:38:57 +0200
commit6a4ac5bd60693307721aa82c26909ffd05e2b193 (patch)
treecfc468d4bbbd53f3327b221c323a5ad1d37e896d /embassy-boot-rp
parent1e268a4d3d14ac825b0b4160a81f06d5205e6dcd (diff)
Add collapse_debuginfo to fmt.rs macros.
This makes location info in defmt logs point to the code calling the macro, instead of always to fmt.rs as before. Fix works with nightlies starting with today's, and stable 1.81+.
Diffstat (limited to 'embassy-boot-rp')
-rw-r--r--embassy-boot-rp/src/fmt.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/embassy-boot-rp/src/fmt.rs b/embassy-boot-rp/src/fmt.rs
index 2ac42c557..35b929fde 100644
--- a/embassy-boot-rp/src/fmt.rs
+++ b/embassy-boot-rp/src/fmt.rs
@@ -6,6 +6,7 @@ use core::fmt::{Debug, Display, LowerHex};
6#[cfg(all(feature = "defmt", feature = "log"))] 6#[cfg(all(feature = "defmt", feature = "log"))]
7compile_error!("You may not enable both `defmt` and `log` features."); 7compile_error!("You may not enable both `defmt` and `log` features.");
8 8
9#[collapse_debuginfo(yes)]
9macro_rules! assert { 10macro_rules! assert {
10 ($($x:tt)*) => { 11 ($($x:tt)*) => {
11 { 12 {
@@ -17,6 +18,7 @@ macro_rules! assert {
17 }; 18 };
18} 19}
19 20
21#[collapse_debuginfo(yes)]
20macro_rules! assert_eq { 22macro_rules! assert_eq {
21 ($($x:tt)*) => { 23 ($($x:tt)*) => {
22 { 24 {
@@ -28,6 +30,7 @@ macro_rules! assert_eq {
28 }; 30 };
29} 31}
30 32
33#[collapse_debuginfo(yes)]
31macro_rules! assert_ne { 34macro_rules! assert_ne {
32 ($($x:tt)*) => { 35 ($($x:tt)*) => {
33 { 36 {
@@ -39,6 +42,7 @@ macro_rules! assert_ne {
39 }; 42 };
40} 43}
41 44
45#[collapse_debuginfo(yes)]
42macro_rules! debug_assert { 46macro_rules! debug_assert {
43 ($($x:tt)*) => { 47 ($($x:tt)*) => {
44 { 48 {
@@ -50,6 +54,7 @@ macro_rules! debug_assert {
50 }; 54 };
51} 55}
52 56
57#[collapse_debuginfo(yes)]
53macro_rules! debug_assert_eq { 58macro_rules! debug_assert_eq {
54 ($($x:tt)*) => { 59 ($($x:tt)*) => {
55 { 60 {
@@ -61,6 +66,7 @@ macro_rules! debug_assert_eq {
61 }; 66 };
62} 67}
63 68
69#[collapse_debuginfo(yes)]
64macro_rules! debug_assert_ne { 70macro_rules! debug_assert_ne {
65 ($($x:tt)*) => { 71 ($($x:tt)*) => {
66 { 72 {
@@ -72,6 +78,7 @@ macro_rules! debug_assert_ne {
72 }; 78 };
73} 79}
74 80
81#[collapse_debuginfo(yes)]
75macro_rules! todo { 82macro_rules! todo {
76 ($($x:tt)*) => { 83 ($($x:tt)*) => {
77 { 84 {
@@ -84,6 +91,7 @@ macro_rules! todo {
84} 91}
85 92
86#[cfg(not(feature = "defmt"))] 93#[cfg(not(feature = "defmt"))]
94#[collapse_debuginfo(yes)]
87macro_rules! unreachable { 95macro_rules! unreachable {
88 ($($x:tt)*) => { 96 ($($x:tt)*) => {
89 ::core::unreachable!($($x)*) 97 ::core::unreachable!($($x)*)
@@ -91,12 +99,14 @@ macro_rules! unreachable {
91} 99}
92 100
93#[cfg(feature = "defmt")] 101#[cfg(feature = "defmt")]
102#[collapse_debuginfo(yes)]
94macro_rules! unreachable { 103macro_rules! unreachable {
95 ($($x:tt)*) => { 104 ($($x:tt)*) => {
96 ::defmt::unreachable!($($x)*) 105 ::defmt::unreachable!($($x)*)
97 }; 106 };
98} 107}
99 108
109#[collapse_debuginfo(yes)]
100macro_rules! panic { 110macro_rules! panic {
101 ($($x:tt)*) => { 111 ($($x:tt)*) => {
102 { 112 {
@@ -108,6 +118,7 @@ macro_rules! panic {
108 }; 118 };
109} 119}
110 120
121#[collapse_debuginfo(yes)]
111macro_rules! trace { 122macro_rules! trace {
112 ($s:literal $(, $x:expr)* $(,)?) => { 123 ($s:literal $(, $x:expr)* $(,)?) => {
113 { 124 {
@@ -121,6 +132,7 @@ macro_rules! trace {
121 }; 132 };
122} 133}
123 134
135#[collapse_debuginfo(yes)]
124macro_rules! debug { 136macro_rules! debug {
125 ($s:literal $(, $x:expr)* $(,)?) => { 137 ($s:literal $(, $x:expr)* $(,)?) => {
126 { 138 {
@@ -134,6 +146,7 @@ macro_rules! debug {
134 }; 146 };
135} 147}
136 148
149#[collapse_debuginfo(yes)]
137macro_rules! info { 150macro_rules! info {
138 ($s:literal $(, $x:expr)* $(,)?) => { 151 ($s:literal $(, $x:expr)* $(,)?) => {
139 { 152 {
@@ -147,6 +160,7 @@ macro_rules! info {
147 }; 160 };
148} 161}
149 162
163#[collapse_debuginfo(yes)]
150macro_rules! warn { 164macro_rules! warn {
151 ($s:literal $(, $x:expr)* $(,)?) => { 165 ($s:literal $(, $x:expr)* $(,)?) => {
152 { 166 {
@@ -160,6 +174,7 @@ macro_rules! warn {
160 }; 174 };
161} 175}
162 176
177#[collapse_debuginfo(yes)]
163macro_rules! error { 178macro_rules! error {
164 ($s:literal $(, $x:expr)* $(,)?) => { 179 ($s:literal $(, $x:expr)* $(,)?) => {
165 { 180 {
@@ -174,6 +189,7 @@ macro_rules! error {
174} 189}
175 190
176#[cfg(feature = "defmt")] 191#[cfg(feature = "defmt")]
192#[collapse_debuginfo(yes)]
177macro_rules! unwrap { 193macro_rules! unwrap {
178 ($($x:tt)*) => { 194 ($($x:tt)*) => {
179 ::defmt::unwrap!($($x)*) 195 ::defmt::unwrap!($($x)*)
@@ -181,6 +197,7 @@ macro_rules! unwrap {
181} 197}
182 198
183#[cfg(not(feature = "defmt"))] 199#[cfg(not(feature = "defmt"))]
200#[collapse_debuginfo(yes)]
184macro_rules! unwrap { 201macro_rules! unwrap {
185 ($arg:expr) => { 202 ($arg:expr) => {
186 match $crate::fmt::Try::into_result($arg) { 203 match $crate::fmt::Try::into_result($arg) {