anko: Instance defined with VmModules is not a new instance

Anko code

module User{
	_age = -1
	_name = "undefined"

	func SetAge(age) {
		_age = age
	}

	func SetName(name) {
		_name = name
	}
}

data = [
	{
		"age": 10,
		"name" : "jack"
	},
	{
		"age": 0,
		"name" : ""
	},
]

for item in data {
	user = User
	if item["age"] != 0 {
		user.SetAge(item["age"])
	}

	if item["name"] != "" {
		user.SetName(item["name"])
	}
	
	println(user._age)
	println(user._name)
}

Expected output

10
jack
-1
undefined

Actual output

10
jack
10
jack

About this issue

  • Original URL
  • State: open
  • Created 5 years ago
  • Comments: 24 (18 by maintainers)

Most upvoted comments

Ok, so deprecate modules and add better support for structs.