« first day (491 days earlier)      last day (76 days later) » 

01:31
@Seggan iirc Rust doesn't let 1 implicitly be a float, but Swift does
Both let you use 1.0 as a polymorphic float literal
Swift has some interesting rules around this though. All else being equal, 1 will prefer to be an Int (=isize) and 1.0 will prefer to be a Double (=f64)
01:47
same with java
 
15 hours later…
17:06
@Seggan that actually seems reasonable
 
2 hours later…
18:59
@Seggan what if foo = Int & String and bar = String & Int and you do foo + bar?
Does it use Int or does it use String?
Int + String is not a valid overload so it will error
 
4 hours later…
23:08
@TheEmptyStringPhotographer It will result in Int & String.
Or equivalently, String & Int.
& is commutative.
23:51
The way you specifically call it commutative as a binary operator rather than a notation for a flat unordered overload set is now making me wonder if there's any way nested overload types might be usefully distinct from a flat set

« first day (491 days earlier)      last day (76 days later) »