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

32 lines
682 B
V

// The series of i?_test.v files, do test different edge cases for
// interface table generation. The differences may seem very minor
// (placement of the interface declaration, whether or not there are
// helper methods, etc), but PLEASE do NOT be tempted to merge them in
// a single _test.v file. Debugging interface code generation issues
// is *much easier* when the _test.v files are very short and focused.
struct Point {
x i8
y i8
}
fn (p Point) draw() string {
return 'Point($p.x,$p.y)'
}
fn to_string(d Drawer) {
println(d.draw())
}
interface Drawer {
draw() string
}
fn test_to_string_can_be_called() {
p := Point{
x: 2
y: 3
}
to_string(p)
assert true
}