﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	launchpad_bug
3830	LeaseInfo invites the anti-pattern of external mutation	exarkun	exarkun	"The way the expiration time of a lease is updated is that a `LeaseInfo` has its `expiration_time` attribute mutated and then the object is serialized into a share file.

""Set an attribute"" as an API is an anti-pattern because:

* attribute setting is minimally discoverable
* attribute setting is prone to delayed failure (it is typically not an error to set the wrong attribute)
* mutation un-localizes behavior and makes reasoning more difficult
"	defect	closed	normal	undecided	unknown	n/a	fixed			
