(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 thread.
View all comments
1 point

There is a to_owned() thingy I use that for path buf shenanigans. Basically the value you create is a pointer reference short of. To_owned allocates it on memory.

permalink
report
reply

Rust Programming

!rust@lemmy.ml

Create post

Community stats

  • 75

    Monthly active users

  • 250

    Posts

  • 775

    Comments