-- main.mcl --
$x = "i am x"	# i am top-level

class c2() {
	$z = "i am y and " + $x

	# Since $x is pulled in from top-level automatically, we don't allow the
	# re-definition by shadowing of the same variable.
	$x = $x	# not allowed
	#$x = $x + "wow"	# allowed?
}

include c2 as f1

test "${f1.z}" {}
test "${f1.x}" {}	# tricky
test "${f1.newx}" {}

-- OUTPUT --
# err: errSetScope: recursive reference while setting scope: not a dag
