I would think:

let mut ps = *Points* {xs:~[1], ys:~[1]};
let mut ps : *Points<uint>* = *Points* {xs:~[1], ys:~[1]};

In Haskell-speak, there is a different between the "type" and the
"constructor", even though by convention they are given the same name.


On Wed, Nov 6, 2013 at 9:46 AM, spir <denis.s...@gmail.com> wrote:

>
> I can write this:
>     struct Points {xs:~[uint], ys:~[uint]}
>     fn main () {
>        let mut ps = Points{xs:~[1u], ys:~[1u]};
>        ...
>     }
>
> But I cannot write that:
>     struct Points<T> {xs:~[T], ys:~[T]}
>     fn main () {
>        let mut ps = Points<uint>{xs:~[1u], ys:~[1u]};
>        ...
>     }
>
> In the second case, I get the error:
> sparse_array.rs:106:31: 106:32 error: expected one of `; }` but found `:`
> sparse_array.rs:106    let mut ps = Points<uint>{xs:~[1u], ys:~[1u]};
>                                                    ^
>
> Sorry to bother you with that, I find myself unable to find the right
> syntactic schema (and could not find any example in any doc online). I'm
> blocked, stupidly.
>
>     spir@ospir:~$ rust -v
>     rust 0.8
>     host: x86_64-unknown-linux-gnu
>
>
> Also, I have a general problem with writing struct instances with the type
> apart; meaning, without any type param, I get the same error:
>     struct Points {xs:~[uint], ys:~[uint]}
>
>     fn main () {
>        let mut ps : Points = {xs:~[1], ys:~[1]};
>        ...
>     }
> ==>
> parse_array.rs:106:28: 106:29 error: expected one of `; }` but found `:`
> sparse_array.rs:106    let mut ps : Points = {xs:~[1], ys:~[1]};
>                                                 ^
>
> More generally, I don't know why there are 2 syntactic schemas to define
> vars. I would be happy with the latter alone (despite the additional pair
> of spaces) since it is more coherent and more general in allowing
> temporalily uninitialised declarations.
>
> Denis
> _______________________________________________
> Rust-dev mailing list
> Rust-dev@mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev
>
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to