pub fn new<P: AsRef<str> + ?Sized>(value: &P) -> Result<&Self, PathError> {
        let path: &Utf8Path = value.as_ref().into();
        Self::from_utf8_path(path)
    }
Validates that the path is absolute and creates an `AbsoluteSystemPath`.
Does *not* validate that the path is a system path. See module
documentation for an explanation why.

# Arguments

* `value`: The path to convert to an absolute system path

returns: Result<&AbsoluteSystemPath, PathError>

# Examples

```
use turbopath::AbsoluteSystemPath;
#[cfg(unix)]
{
assert!(AbsoluteSystemPath::new("/foo/bar").is_ok());
assert!(AbsoluteSystemPath::new("foo/bar").is_err());
assert!(AbsoluteSystemPath::new("C:\\foo\\bar").is_err());
}

#[cfg(windows)]
{
assert!(AbsoluteSystemPath::new("C:\\foo\\bar").is_ok());
assert!(AbsoluteSystemPath::new("foo\\bar").is_err());
assert!(AbsoluteSystemPath::new("/foo/bar").is_err());
}
```
crates/turborepo-paths/src/absolute_system_path.rs