Interfaces working?
This commit is contained in:
@@ -1,27 +1,32 @@
|
||||
extern func puts(fmt: cstring)
|
||||
|
||||
interface Printable
|
||||
{
|
||||
func print()
|
||||
}
|
||||
|
||||
struct Human : Printable {
|
||||
struct Human : Printable
|
||||
{
|
||||
name: cstring
|
||||
|
||||
func print_name()
|
||||
{
|
||||
puts(this^.name)
|
||||
}
|
||||
|
||||
func print()
|
||||
{
|
||||
puts("example")
|
||||
puts(this^.name)
|
||||
}
|
||||
}
|
||||
|
||||
func main(args: []cstring): i64
|
||||
{
|
||||
let human: Human = alloc Human {
|
||||
let human = alloc Human {
|
||||
name = "oliver"
|
||||
}
|
||||
|
||||
human.print()
|
||||
print_printable(human)
|
||||
return 0
|
||||
}
|
||||
|
||||
func print_printable(printable: Printable)
|
||||
{
|
||||
printable.print()
|
||||
}
|
||||
Reference in New Issue
Block a user