Thanks Matthieu.
Regards,
Kashyap

On Wed, Dec 3, 2014 at 11:27 PM, Matthieu Monrocq <
[email protected]> wrote:

> &str is simply a pair (length, pointer).
>
> The reason that even for a literal the length is packed as an argument is
> that &str does not ONLY work for literals (complete type &'static str) but
> for any slice of characters, such as those produced by String::as_slice()
> in which case the lifetime is different (only live as long as the
> particular String instance) and the length is not necessarily known at
> compile-time.
>
> On Wed, Dec 3, 2014 at 6:34 PM, C K Kashyap <[email protected]> wrote:
>
>> Hi,
>> I am stuck in my kernel development where I find that I am not able to
>> iterate over a &str. The code is here -
>> https://github.com/ckkashyap/unix/blob/master/kernel/uart.rs in the
>> function uart_putc I find that the for-loop loops the right number of
>> times but it does not print the right character. To me it appears to be a
>> linking problem with my kernel. However, to debug this issue I wanted to
>> get a better understanding of what happens when we iterate over &str. I was
>> surprised to see that the length of the string literal that is determined
>> at compile time is being sent as an argument.
>>
>> I'd appreciate any insights into how I can debug this.
>>
>> Regards,
>> Kashyap
>>
>> _______________________________________________
>> 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