[swift-evolution] [Pitch] Remove type-inference for stored property

Daniel Duan daniel at duan.org
Fri Apr 7 02:21:04 CDT 2017

Hi all,

In a discussion about inferring parameter types from default value, Slava brought up some performance problems caused by type inference for stored properties in side types:


Towards the end, the post mentioned that some Swift team members contemplated requiring types for stored properties in type declarations. I think this idea deserves some more attention. Hence this last minute idea-floating.

In addition to solving a performance headache in implementation, there're always the general benefit of making type declartion more explicit and readable (clarity for reader should out-weigh pleasure of the author). Making the
language slightly more consistent (we are not inferring types for default parameter values in function anyways).

The cons for doing this are obvious too: the inference makes the language feels more friendly and is, undoubtedly, a beloved feature for many. This would be a source breaking change.

Just thought I'd float the idea to gather some quick reaction. What do y'all think?

Daniel Duan

More information about the swift-evolution mailing list