> On Nov 29, 2016, at 2:55 AM, Rick Mann via swift-users > <swift-users@swift.org> wrote: > > Working on dimensional analysis, I have some proof-of-concept code that seems > to be working: > > let n1 = kilogram * meter / second * second > ([(kg⋅m) / s]⋅s) > > let n2 = kilogram * meter / (second * second) > [(kg⋅m) / (s⋅s)] > > Note: () around unit products, [] around unit quotients. > > I'd like to adjust the precedence of operator * for my Unit protocol to be > higher than /. Is that possible? It wasn't at all clear to me how to do that > in Swift 3, or if can even be done at all.
You can't. A Swift operator's precedence is the same for all types that implement that operator. Operators * and / cannot use the same precedence on Int but different precedence on Unit. You could try to change the precedence of * and / globally - they're defined like any other operator in stdlib/public/core/Policy.swift - but you'll break lots of other code that way. -- Greg Parker gpar...@apple.com Runtime Wrangler _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users