```
error[E0308]: mismatched types
--> $DIR/macro-span-caller-replacement.rs:5:17
|
LL | s = format!("{arg}");
| ^^^^^^^^^^^^^^^^ expected `&str`, found `String`
...
LL | macro_with_format!();
| -------------------- in this macro invocation
|
= note: this error originates in the macro `format` which comes from the expansion of the macro `macro_with_format` (in Nightly builds, run with -Z macro-backtrace for more info)
```
16 lines
378 B
Rust
16 lines
378 B
Rust
macro_rules! macro_with_format { () => {
|
|
fn check_5(arg : usize) -> String {
|
|
let s : &str;
|
|
if arg < 5 {
|
|
s = format!("{arg}"); //~ ERROR mismatched types
|
|
} else {
|
|
s = String::new(); //~ ERROR mismatched types
|
|
}
|
|
String::from(s)
|
|
}
|
|
}}
|
|
|
|
fn main() {
|
|
macro_with_format!();
|
|
println!( "{}", check_5(6) );
|
|
}
|