#rust folks it’s supposed to throw this error without lazy_static
crate , but it doesn’t?
https://git.sr.ht/~carnotweat/morning-rust/tree/main/item/sum.rs#L14
cc @rust @learningrustandlemmy
If you’re using an LLM to “learn”, stop. Otherwise, I don’t understand what
lazy_static
has to do with anything.It’s hard to tell what you’re asking. But maybe you’re confused because
println!
(it’s a macro btw) expands to code that involvesformat_args!
which is a compiler built-in that doesn’t take ownership of the token expressions that get passed to it. Notice how the bottom of theformat_args!
page has this to say:Lifetime limitation
Except when no formatting arguments are used, the produced
fmt::Arguments
value borrows temporary values, which means it can only be used within the same expression and cannot be stored for later use. This is a known limitation, see #92698.So, it’s kind of a feature and a limitation at the same time.
@BB_C disclaimer - no llm , I am following a book
Good.
Can you formulate your question better, with a minimal example and properly formatted code?
@rust @learningrustandlemmy
I might have missed some subtle syntactical difference here, I guess
aas inVec<...>
is a type definition, andVec::<...>
is referring to the struct itself, but with a type parameter given.
context - https://www.reddit.com/r/learnrust/comments/exmqyc/what_are_the_rules_for_turbofish/