fix the bug when a struct include a hasher interface implement struct