As others noted: * the ability to say .min, .max, .blackColor(), etc is extremely useful. Swift would be a lot worse off if only enum cases got their enum types inferred, and for any other static member of a type I would have type the fully qualified name * the leading dot disambiguates the reference for the compiler **and for the reader**. I don’t have to guess if I’m not referencing something local, or explicitly disambiguate when needed. I just say, “.foo”, and it’s clear. * I disagree that the rules of lookup are confusing. The feature is poorly documented in official guides, but it seems pretty straightforward to me. For any context implying T, .foo means a static member T.foo. Like you said, could be subjective ¯\_(ツ)_/¯
Best, — Radek > On 04 Apr 2016, at 20:05, Dave Abrahams via swift-evolution > <swift-evolution@swift.org> wrote: > > > on Mon Apr 04 2016, Erica Sadun <swift-evolution@swift.org> asked: > >> Can you ping me off-list or in another thread and explain what the >> issues are? > > All of the following make me uncomfortable with our leading-dot thang: > > * The rules for lookup don't seem obvious to me. I admit this is very > personal/subjective. > > * There is some evidence that people think it means something it doesn't > (“enum case”), as mentioned in SE-0036. That suggests it is a > confusing feature. That confusion may be fairly harmless so far, but > still. > > * The dot doesn't seem to buy enough to be worth the complexity it adds > to the language; why not just let those names be looked up without the > dot? You can always disambiguate with full qualification if you have > to. > > * Static members generally are too verbose to access from within members > of a type (`Self.x` doesn't work; you have to write out > `TheFullTypeName.x`), and leading-dot doesn't give the ability to do > so. If we're going to have a special syntax for accessing static > members, it should *at least* solve this problem. > > -- > Dave > > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution