Will default initialisation of structures be made more ergonomic?


#1

Currently I find myself using std::default::Default::default() in any Rust program I write, probably because it is such a common thing to do.

Something that irritates me is that I can derive structures from some built-in Default trait, but must explicitly import the trait with use std::default::Default to actually instantiate such a struct with it. This feels unintuitive to me, especially considering that I can do the same with the Clone trait, without having to explicitly use it though.

My initial thinking was to propose adding std::default::Default to the prelude, but that was before I have read this topic about initialising structures. It hinted at the possibility to either add the Default trait to the prelude, or even have a default() function that does the same.

Can someone point me to the source of this discussion ? Maybe there is an RFC I don’t know about.

Thank you