[][src]Trait normpath::PathExt

pub trait PathExt: Sealed {
    fn normalize(&self) -> Result<BasePathBuf>;
}

Additional methods added to Path.

Required methods

fn normalize(&self) -> Result<BasePathBuf>

Normalizes self relative to the current directory.

Unix Behavior

On Unix, normalization is equivalent to canonicalization.

Windows Behavior

On Windows, normalization is similar to canonicalization, but:

However, verbatim paths will not be modified, so they might still contain . or .. components. BasePath::join and BasePathBuf::push can normalize them before they become part of the path.

Implementation

Currently, this method calls:

However, the implementation is subject to change. This section is only informative.

Errors

Returns an error if self cannot be normalized or contains a null byte. On Unix, only existing paths can be normalized.

Examples

use std::path::Path;

use normpath::PathExt;

if cfg!(windows) {
    assert_eq!(
        Path::new(r"X:\foo\baz\test.rs"),
        Path::new("X:/foo/bar/../baz/test.rs").normalize()?,
    );
}
Loading content...

Implementations on Foreign Types

impl PathExt for Path[src]

Loading content...

Implementors

Loading content...