When it comes to mobile apps, I generally recommend native (swift/kotlin) or Flutter, they all have good tooling and have good performance
In this case though, they are all curly braces languages and don't have much in common with python.
If you don't want to learn at least 1 new language, there are some python libraries/frameworks which can be used for mobile dev. Like Kivy or Beeware. I've never used any of these though so I can't tell you how good/bad they are.
I'm not sure if the rules are different with macros, I've never written one but this lint is generally caused because you set a var to a value and then overwrite that value before you use it. e.g.
let mut a = 1; a = 2; println!("{}", a);
This will throw the same warning because 1 is never used, this could've just been:
let a = 2; println!("{}", a);
So first I'd double check that I NEED last at all. Maybe try:
cargo clippy
See if it can tell you how to fix it.
If that doesn't work, it's sometimes necessary to skip certain lints. E.g. if you make a library, most of the code will be flagged as dead code because it isn't used and you can use an #[allow(dead_code)] to stop the linter warning. You might be able to use #[allow(this_linting_rule)].
Hope something here helps.