trait Printer:
fn print_it(self,text:String):
...
@value
struct BoringPrinter(Printer):
fn print_it(self,text:String):
print(text)
fn lets_print(p:Printer,text:String):
p.print_it(text)
fn main():
var bp = BoringPrinter()
lets_print(bp,"let's sing a song")
trait Printer:
fn print_it(self,text:String):
...
@value
struct BoringPrinter(Printer):
fn print_it(self,text:String):
print(text)
fn lets_print(p:Printer,text:String):
p.print_it(text)
fn main():
var bp = BoringPrinter()
lets_print(bp,"let's sing a song")