I like using ":" for casts and "as" for binding (perhaps reversed, like Python's with statement) the most, and I believe it has been proposed before https://mail.mozilla.org/pipermail/rust-dev/2012-May/001825.html
On 3 May 2013 04:25, Erick Tryzelaar <[email protected]> wrote: > I'm not sure what I think about this, but we could do away with the `as` > cast operator and replace it with `.to_f32()`. I was already planning on > adding a ToInt/FromInt for casting to and from enums, so we'll probably > grow `.to_f32()` and etc anyway. I doubt we could use `.to_f32()` in a > pattern. > > Or we could change the cast operator. `<expr> : <type>` has some nice > symmetry with the rest of the syntax. I'm not sure if that would be > ambiguous though. Scala uses this syntax: > > val x = 1 > > > > x: Int = 1 > > val y = x: Float > > y: Float = 1.0 > > > O'Caml uses `<expr> :> <type>` to cast polymorphic variants, as in: > > # let x = `A;; > val x : [> `A ] = `A > # let b = (x :> [> `A | `B]);; > val b : [> `A | `B ] = `A > > I'm not sure if either of these options is the right way to go though. > > > On Thu, May 2, 2013 at 6:16 PM, Tim Chevalier <[email protected]>wrote: > >> I don't particularly like any of the options here, but "as" seems like >> the least bad one. Matching on a casted constant seems like a pretty >> rare case, and you can always use if instead of match. I agree that >> the existing @ syntax is ugly, and I think using '=' for pattern >> binding muddies the waters (besides the ambiguity). >> >> Cheers, >> Tim >> >> >> >> -- >> Tim Chevalier * http://catamorphism.org/ * Often in error, never in doubt >> "Too much to carry, too much to let go >> Time goes fast, learning goes slow." -- Bruce Cockburn >> _______________________________________________ >> Rust-dev mailing list >> [email protected] >> https://mail.mozilla.org/listinfo/rust-dev >> > > > _______________________________________________ > Rust-dev mailing list > [email protected] > https://mail.mozilla.org/listinfo/rust-dev > >
_______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
