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.
Zig › std/ › zig/ › llvm/ › Builder.zig › convConstTag
convConstTag
Builder.convConstTag
fn convConstTag (
self : *Builder ,
val_ty : Type ,
ty : Type ,
) Constant .Tag
File
Code
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 ,
};
}