I read the docs on [`HashMap`](https://doc.rust-lang.org/stable/rust-by-example/std/hash.html) and I understand that they can have [alternate custom types](https://doc.rust-lang.org/stable/rust-by-example/std/hash/alt_key_types.html). This example is given in the docs:

```rust
type Accounts<'a> = HashMap<Account<'a>, AccountInfo<'a>>;
let mut accounts: Accounts = HashMap::new();

```

I would prefer to not define an explicit type. I have a function that expects a mutable `HashMap<PathBuf, bool>`:

```rust
pub fn parse(
    visited: &mut HashMap<PathBuf, bool>,
    path: PathBuf,
) -> Result<(), Box<dyn std::error::Error>> {
    unimplemented!()
}

```

In my "main" function, I am calling "parse" like this:

```rust
let mut visited = HashMap::new();
parse(&mut visited, args.path)?;

```

The code compiles, but I would like to be more explicit and define the types when creating the `visited` variable. It looks like the following syntax is not correct:

```rust
let mut visited = HashMap<PathBuf, bool>::new();

```

Is there any way to do this?