I saw today that rustc uses this by using FnvHashSet as both a type alias and a function. So rust's own internals are using it (I guess the compiler hackers would be the ones to know these corner cases).
Personally I really dislike this pattern because it is very surprising to me, but I think if it were made more normal by documenting it, using it in the standard library, and so on, I would feel more okay with it. Right now I'm much more comfortable using associated functions as constructors.
Thank you @manfredlotz for your reply. May I ask, why you think it is bad, especially regarding this topic?
I understand that for very specific topics it is better to create a new thread, but this is sort of a "collection" of posts (similar to "Crate of the Week" or "Quote of the Week"), isn't it?
If the general opinion is to create a new thread for this, can someone please close this thread, so others won't post in here anymore.
Moved the new post to a separate thread. We try not to keep threads open forever these days (with a few exceptions) because of various confusion when they get bumped, and because they disproportionately attract spam, and because comments in them can generate email notifications to large numbers of people, some of whom are no longer active on the forum.