in Sources/TSCBasic/Path.swift [693:713]
init(validatingAbsolutePath path: String) throws {
#if os(Windows)
let fsr: UnsafePointer<Int8> = path.fileSystemRepresentation
defer { fsr.deallocate() }
let realpath = String(cString: fsr)
if !UNIXPath.isAbsolutePath(realpath) {
throw PathValidationError.invalidAbsolutePath(path)
}
self.init(normalizingAbsolutePath: path)
#else
switch path.first {
case "/":
self.init(normalizingAbsolutePath: path)
case "~":
throw PathValidationError.startsWithTilde(path)
default:
throw PathValidationError.invalidAbsolutePath(path)
}
#endif
}