The benefit of our current "defstruct initiargs aren't make-instance initargs" approach is that makes it more likely to pinpoint places where you've left a make-instance in place after switching to structs.
The benefit of allowing defstruct initargs to be used with make-instance is that it makes switching between the two definitions less painful.
Given that our current approach doesn't guarantee catching all such sites anyhow, but adding an error-signaling method on eg. initialize-instance does[*] ... I think I'm in favor of allowing defstruct initargs in make-instance.
Anyone else?
[*] Assuming tests with complete coverage, it's not like either method works statically.
I've been thinking of this on and off.
The benefit of our current "defstruct initiargs aren't make-instance initargs" approach is that makes it more likely to pinpoint places where you've left a make-instance in place after switching to structs.
The benefit of allowing defstruct initargs to be used with make-instance is that it makes switching between the two definitions less painful.
Given that our current approach doesn't guarantee catching all such sites anyhow, but adding an error-signaling method on eg. initialize-instance does[*] ... I think I'm in favor of allowing defstruct initargs in make-instance.
Anyone else?
[*] Assuming tests with complete coverage, it's not like either method works statically.