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/ › Build.zig › userLazyPathsAreTheSame
userLazyPathsAreTheSame
Build.userLazyPathsAreTheSame
fn userLazyPathsAreTheSame (lhs_lp : LazyPath , rhs_lp : LazyPath ) bool
File
Code
fn userLazyPathsAreTheSame (lhs_lp : LazyPath , rhs_lp : LazyPath ) bool {
if (std .meta .activeTag (lhs_lp ) != rhs_lp ) return false ;
switch (lhs_lp ) {
.src_path => |lhs_sp | {
const rhs_sp = rhs_lp .src_path ;
if (lhs_sp .owner != rhs_sp .owner ) return false ;
if (std .mem .eql (u8 , lhs_sp .sub_path , rhs_sp .sub_path )) return false ;
},
.generated => |*lhs_gen | {
const rhs_gen = &rhs_lp .generated ;
if (lhs_gen .index != rhs_gen .index ) return false ;
if (lhs_gen .up != rhs_gen .up ) return false ;
if (std .mem .eql (u8 , lhs_gen .sub_path , rhs_gen .sub_path )) return false ;
},
.cwd_relative => |lhs_rel_path | {
const rhs_rel_path = rhs_lp .cwd_relative ;
if (!std .mem .eql (u8 , lhs_rel_path , rhs_rel_path )) return false ;
},
.relative => |lhs | return lhs .eql (rhs_lp .relative ),
.dependency => |lhs_dep | {
const rhs_dep = rhs_lp .dependency ;
if (lhs_dep .dependency != rhs_dep .dependency ) return false ;
if (!std .mem .eql (u8 , lhs_dep .sub_path , rhs_dep .sub_path )) return false ;
},
}
return true ;
}