Why RA has no hint for sha2::Sha256::new()?

When I use vscode or lazyvim in neovide,I found somthing that pretty wired that there is no type infer. But it just occur in sha2 as code following:

use sha2::Digest;
fn main() {
    //there is no type infer for hasher,and no discreption for `new`
    let hasher = sha2::Sha256::new();
}

what is happening?where can I get efficient help?

No, importing the type should not be necessary. It never makes a difference whether you refer to a type by absolute path or import it.

Implicit trait method/function calls are the only case where an item must be imported rather than referred to by absolute path — and in this case, the relevant trait is imported; new() is from sha2::Digest.

I would guess that rust-analyzer is getting confused by the complex type alias Sha256 somewhere.