What is a good way to extract data from a &Result
type?
In my specific case, I have a &Result<DirEntry, Error>
type, which I can't unwrap because I don't own the object. I tried to dereference and clone it (*left_item).clone()
, but that just gives me a error with the note:
the method `clone` exists but the following trait bounds were not satisfied:
`std::result::Result<std::fs::DirEntry, std::io::Error> : std::clone::Clone`
When creating a new project or re-importing a mesh into an existing project, make sure the setting "Auto-unwrap" is checked. If disabled, the process will be skipped and mesh UVs will remain as-is.
To open the Unfold UV Tool or Optimize UV Tool, select it from the Unfold section in the UV Toolkit or select Tools > Unfold or Tools > Optimize from the UV Editor menus. The Unfold UV Tool lets you interactively unwrap the UV mesh for a polygonal object while trying to ensure that the UVs do not overlap.
You are looking for Result::as_ref
:
Converts from
Result<T, E>
toResult<&T, &E>
.Produces a new
Result
, containing a reference into the original, leaving the original in place.
The following code solves your problem:
let entry: &DirEntry = result.as_ref().unwrap();
For a mutable version, Result::as_mut
is provided.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With