Perhaps Rust should provide something like BorrowAsStr trait allowing
to convert automatically to &str. &* is just too ugly...

On 26 May 2014 08:58, Vladimir Matveev <[email protected]> wrote:
>> My suspicion is that the automatic conversion will come back at some
>> point, but I'm not sure.
>
> I think it will be possible to make `String` implement `Deref<str>`
> when DST land. Then it will be possible to convert from `String` to
> `&str` using explicit reborrowing:
>
>     let sgf_slice = &*sgf;
>
> I'm not sure this will be fully automatic when `String` is an
> arbitrary actual argument to arbitrary function, however.
>
> 2014-05-26 10:36 GMT+04:00 Andrew Gallant <[email protected]>:
>> Try using `self.sgf.as_slice()` instead.
>>
>> The change is necessary, AFAIK, because `~str` would automatically be
>> converted to a borrowed reference without having to explicitly call the
>> `as_slice` method. This doesn't happen for the StrBuf (and what is now
>> String, I think) type.
>>
>> My suspicion is that the automatic conversion will come back at some
>> point, but I'm not sure.
>>
>> - Andrew
>>
>>
>> On Mon, May 26, 2014 at 2:32 AM, Urban Hafner <[email protected]> 
>> wrote:
>>> Hello there,
>>>
>>> I just updated the compiler (I use the git master branch) and now when I
>>> read in a file I get a StrBuf instead of a ~str. That is easy enough to
>>> change, but how do I use regular expressions now? I have the following in my
>>> code:
>>>
>>> let re = regex!(r"SZ\[(\d+)\]");
>>> let captures = re.captures(self.sgf).unwrap();
>>>
>>> And it fails now because "self.sgf" is a StrBuf instead of a &str. Do I have
>>> just a Rust compiler that is somewhere in between (i.e. not everything has
>>> been changed to StrBuf) or is this intentional? And if so, what's the best
>>> way to use regular expressions now?
>>>
>>> Urban
>>> --
>>> Freelancer
>>>
>>> Available for hire for Ruby, Ruby on Rails, and JavaScript projects
>>>
>>> More at http://urbanhafner.com
>>>
>>> _______________________________________________
>>> 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
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to