1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/v/tests/if_smartcast_multi_conds_test.v

48 lines
963 B
V

struct Empty {}
struct SourcePosition {
source_line u32
source_column u32
}
type SourcePositionType = Empty | SourcePosition
type NameIndexType = Empty | u32
struct GenPosition {
gen_line u32
gen_column u32
}
struct Mapping {
GenPosition
sources_ind u32
names_ind NameIndexType
source_position SourcePositionType
}
fn ok(mapping_a Mapping, mapping_b Mapping) bool {
if mapping_a.source_position is SourcePosition && mapping_b.source_position is SourcePosition {
return mapping_a.source_position.source_line != mapping_b.source_position.source_line
|| mapping_a.source_position.source_column != mapping_b.source_position.source_column
}
return false
}
fn test_if_smartcast_multi_conds() {
a := Mapping{
source_position: SourcePosition{
source_line: 11
source_column: 22
}
}
b := Mapping{
source_position: SourcePosition{
source_line: 22
source_column: 11
}
}
ret := ok(a, b)
println(ret)
assert ret
}