struct Table {
pub mut:
	name string
}

type MyFn = fn (zzzz Table)

fn (mut t Table) rename() {
	t.name = 'abc'
}

fn yyy(t Table) {
	println(t.name)
}

fn xxx(mut mytable Table) {
	mytable.rename()
	println(mytable.name)
}

fn sum(myfn MyFn) {
	mut t := Table{}
	myfn(t)
}

fn main() {
	sum(fn (mut t Table) {
		t.rename()
		println(t.name)
	})
	sum(xxx)
	sum(yyy)
}
