message: fix(vfs) Better handle path canonicalization on Windows.
  `C:\` is considered as a root, but we expect it to fail because we
  don't accept such path as valid for the moment.
diff: @@ -477,17 +477,12 @@ impl FileSystemInner {
  /// the path, which means that there is no guarantee that the path
  /// exists in the file system.
  pub(super) fn canonicalize_without_inode(&self, path: &Path) -> Result<PathBuf> {
  - if !path.has_root() {
  - return Err(FsError::InvalidInput);
  - }
  -
  let mut components = path.components();
  - assert_eq!(
  - components.next(),
  - Some(Component::RootDir),
  - "the root component is expected to be present",
  - );
  + match components.next() {
  + Some(Component::RootDir) => {}
  + _ => return Err(FsError::InvalidInput),
  + }
  let mut new_path = PathBuf::with_capacity(path.as_os_str().len());
  new_path.push("/");
  @@ -1246,11 +1241,6 @@ mod test_filesystem {
  Err(FsError::InvalidInput),
  "canonicalizing `C:/foo/`",
  );
  - assert_eq!(
  - fs_inner.canonicalize(path!("\\foo")),
  - Err(FsError::InvalidInput),
  - "canonicalizing `C:/foo/`",
  - );
  assert_eq!(
  fs_inner.canonicalize(path!(
  "/foo/./../foo/bar/../../foo/bar/./baz/./../baz/qux/../../baz/./qux/hello.txt"
  