Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

autoHash

Provides generic hashing for any eligible type. Only hashes key itself, pointers are not followed. Slices as well as unions and structs containing slices are rejected to avoid ambiguity on the user's intention.

auto_hash.autoHash
pub fn autoHash(hasher: anytype, key: anytype) void

File

lib/std/hash/auto_hash.zig:185

Code

pub fn autoHash(hasher: anytype, key: anytype) void {
    const Key = @TypeOf(key);
    if (comptime typeContainsSlice(Key)) {
        @compileError("std.hash.autoHash does not allow slices as well as unions and structs containing slices here (" ++ @typeName(Key) ++
            ") because the intent is unclear. Consider using std.hash.autoHashStrat or providing your own hash function instead.");
    }

    hash(hasher, key, .Shallow);
}