this post was submitted on 26 Sep 2024
0 points (NaN% liked)

Rust Programming

8118 readers
2 users here now

founded 5 years ago
MODERATORS
 

(I'm just starting off with rust, so please be patient)

Is there an idiomatic way of writing the following as a one-liner, somehow informing rustc that it should keep the PathBuf around?

// nevermind the fully-qualified names
// they are there to clarify the code
// (that's what I hope at least)

let dir: std::path::PathBuf = std::env::current_dir().unwrap();
let dir: &std::path::Path   = dir.as_path();

// this won't do:
// let dir = std::env::current_dir().unwrap().as_path();

I do understand why rust complains that "temporary value dropped while borrowed" (I mean, the message says it all), but, since I don't really need the PathBuf for anything else, I was wondering if there's an idiomatic to tell rust that it should extend its life until the end of the code block.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 0 points 1 month ago (1 children)

While macros are cool and it's good to keep them as an option in the back of the mind, it should be clarified that you're not supposed to immediately reach for macros for small things you don't quite like about the language.

Excessive macro use makes it impossible for others (including your future self) to read your code and there's often good reasons why it's designed like it is.

[–] [email protected] 0 points 1 month ago (1 children)

you’re not supposed to immediately reach for macros

correct

for small things you don’t quite like about the language.

incorrect

Excessive macro use makes it impossible for others (including your future self) to read your code

N/A. the macro above is trivial.

impossible for others to read your code and there’s often good reasons why it’s designed like it is.

fiction

[–] [email protected] 0 points 1 month ago (1 children)

Oof, this brings back PTSD for a lot of us that have worked with developers like this ☝️

[–] [email protected] 0 points 2 weeks ago

Well, all developers give each other ptsd, never seen a clean code base in my career. They all turn to shit, because 90% developers don't care, because it will be someone else's problem later.

That said, yeah don't do weird custom code, where you have to keep context in your head to understand the code.