# Function std::fs::canonicalize 1.5.0[−][src]

    pub fn canonicalize<P: AsRef<Path>>(path: P) -> Result<PathBuf>

Returns the canonical form of a path with all intermediate components normalized and symbolic links resolved.

# Platform-specific behavior

This function currently corresponds to the `realpath` function on Unix and the `CreateFile` and `GetFinalPathNameByHandle` functions on Windows. Note that, this may change in the future.

# Errors

This function will return an error in the following situations, but is not limited to just these cases:

- `path` does not exist.
- A component in path is not a directory.

# Examples

    use std::fs;

    fn main() -> std::io::Result<()> {
        let path = fs::canonicalize("../a/../foo.txt")?;
        Ok(())
    }Run

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)