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
