> So will we always have to dereference a ref variable using the asterisk
symbol?

At least until irrefutable patterns are supported in argument lists:

https://github.com/mozilla/rust/issues/3586

On Wed, Oct 3, 2012 at 10:22 PM, Ziad Hatahet <[email protected]> wrote:

> So will we always have to dereference a ref variable using the asterisk
> symbol? In effect this is passing a pointer (like C), correct? What about
> if we want to call a method on a ref variable, will it be a.foo(), or
> (*a).foo()?
>
> Thanks
>
> --
> Ziad
>
>
>
> On Wed, Oct 3, 2012 at 7:15 PM, Patrick Walton <[email protected]>wrote:
>
>> On 10/3/12 7:13 PM, Amitava Shee wrote:
>>
>>> I just built rust from git source on my osx 10.6.8.
>>>
>>> amitava$ rustc --version
>>> rustc 0.4 (c3f9b72 2012-09-30 21:35:32 -0700)
>>> host: x86_64-apple-darwin
>>>
>>> I am trying to compile the following "hello.rs <http://hello.rs>"
>>>
>>>
>>> fn main() {
>>>    let x = ["hello","world"];
>>>    for x.each |y| {
>>>      io::println(y);
>>>    }
>>> }
>>>
>>> I get the following error
>>> amitava:l2 amitava$ make
>>> rustc -g hello.rs <http://hello.rs>
>>>
>>> hello.rs:4:16: 4:17 error: mismatched types: expected `&/str` but found
>>> `&&static/str` (expected &/str but found &-ptr)
>>> hello.rs:4 <http://hello.rs:4>     io::println(y);
>>>
>>>                             ^
>>> error: aborting due to previous error
>>> make: *** [hello] Error 101
>>>
>>> What am I missing?
>>>
>>
>> each now returns a reference, so you want `io::println(*y)`.
>>
>> Patrick
>>
>>
>> ______________________________**_________________
>> Rust-dev mailing list
>> [email protected]
>> https://mail.mozilla.org/**listinfo/rust-dev<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

Reply via email to