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 standard library.
std › zig › llvm › Builder › convConstTag Private Function convConstTag Doc Source Private Function std.zig.llvm.Builder.convConstTag
fn convConstTag (
self : *Builder ,
val_ty : Type ,
ty : Type ,
) Constant .Tag Params File zig/llvm/Builder.zig: 12813
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835 fn convConstTag (
self : *Builder ,
val_ty : Type ,
ty : Type ,
) Constant .Tag {
assert (val_ty != ty );
return switch (val_ty .scalarTag (self )) {
.integer => switch (ty .scalarTag (self )) {
.integer => switch (std .math .order (val_ty .scalarBits (self ), ty .scalarBits (self ))) {
.gt => .trunc ,
else => unreachable ,
},
.pointer => .inttoptr ,
else => unreachable ,
},
.pointer => switch (ty .scalarTag (self )) {
.integer => .ptrtoint ,
.pointer => .addrspacecast ,
else => unreachable ,
},
else => unreachable ,
};
}