You’re completely right, but we don’t need to change the swift language to fix that. As of 3f19714, which I just pushed, we now emit this error message (which includes a fixit hint to insert the colon):
t.swift:2:33: error: use [:] to get an empty dictionary literal var distanceCache: [Int: Int] = [] ^ : instead of: t.swift:2:33: error: contextual type '[Int : Int]' cannot be used with array literal var distanceCache: [Int: Int] = [] ^~ That should address the problem, thanks for pointing this out! -Chris > On Jan 5, 2016, at 4:51 AM, James Campbell via swift-evolution > <swift-evolution@swift.org> wrote: > > The problem for me is that is so counter intuitive I didn't even know you > could do that. > > On Tue, Jan 5, 2016 at 12:50 PM, Jeremy Pereira > <jeremy.j.pere...@googlemail.com <mailto:jeremy.j.pere...@googlemail.com>> > wrote: > I don’t understand what the problem is > > > On 5 Jan 2016, at 12:39, James Campbell via swift-evolution > > <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote: > > > > See this code: > > var distanceCache: [Int: Int] = Dictionary<Int, Int>() > > > > It is very long and tedious to write especially if what I am storing > > changes. > > > > I propose we be allowed to do the following: > > var distanceCache: [Int: Int] = [] > > You can do > > var distanceCache: [Int: Int] = [:] > > Also > > var distanceCache2 = [Int: Int]() > > > > Perhaps this dictionary syntax is just confusing and it was a bad idea to > > make it the same as an array. Most languages use "{" so why did swift > > choose to share "[" with arrays and dictionaries. > > It’s not the same, you need the colons inside. I imagine that braces were > discarded on the grounds that it would confuse the compiler with respect to > closures, for example > > var myClosure = {} // is a variable of type () -> () > > > > > > -- > > Wizard > > ja...@supmenow.com <mailto:ja...@supmenow.com> > > +44 7523 279 698 <tel:%2B44%207523%20279%20698> > > _______________________________________________ > > swift-evolution mailing list > > swift-evolution@swift.org <mailto:swift-evolution@swift.org> > > https://lists.swift.org/mailman/listinfo/swift-evolution > > <https://lists.swift.org/mailman/listinfo/swift-evolution> > > > > > -- > Wizard > ja...@supmenow.com <mailto:ja...@supmenow.com> > +44 7523 279 698 > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org <mailto:swift-evolution@swift.org> > https://lists.swift.org/mailman/listinfo/swift-evolution > <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution