hi,
i learning rust-lang and i need some help of you.
In following example, test0() and test1() don't compile.

How should I write test0 () and test1() correctly?

(sorry my bad english).
saludos
-f

------------------
[fedel@fedel ~/src/rust-0.1]$ cat ask1.rs
use std;

fn naux(n : int) -> int { n + 1 }

fn test0(l : [int]) -> [int] {
    ret vec::map(l, naux);
}

fn test1(l : [int]) -> [int] {
    let baux = fn@(n : int) -> int { n + 1 };
    ret vec::map(l, baux);
}

fn test3(l : [int]) -> [int] {
    ret vec::map(l, {|n| n + 1});
}

fn main(args: [str]) {
    test0([0,1,2,3,4]);
    test1([0,1,2,3,4]);
    test3([0,1,2,3,4]);
}
[fedel@fedel ~/src/rust-0.1]$ rustc ask1.rs
ask1.rs:6:20: 6:24 error: mismatched types: expected `fn&(<T1>) ->
<T2>` but found `native fn(int) -> int` (expected argument mode && but
found ++)
ask1.rs:6     ret vec::map(l, naux);
                              ^~~~
ask1.rs:11:20: 11:24 error: mismatched types: expected `fn&(<T5>) ->
<T6>` but found `fn@(int) -> int` (expected argument mode ++ but found
&&)
ask1.rs:11     ret vec::map(l, baux);
                               ^~~~
error: aborting due to previous errors
[fedel@fedel ~/src/rust-0.1]$ rustc -v
rustc 0.1
host: x86_64-unknown-linux-gnu
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to