Struct lib_ruby_parser::nodes::Str
source · #[repr(C)]pub struct Str {
pub value: Bytes,
pub begin_l: Option<Loc>,
pub end_l: Option<Loc>,
pub expression_l: Loc,
}
Expand description
Represents a plain non-interpolated string literal (e.g. "foo"
)
Fields§
§value: Bytes
Value of the string literal
Note that it’s a StringValue
, not a String
.
The reason is that you can get UTF-8 incompatible strings
from a valid UTF-8 source using escape sequences like "\xFF"
These “", “x”, “F”, “F” chars are valid separately, but together they construct a char with code = 255 that is invalid for UTF-8.
You can use to_string_lossy
or to_string
methods to get a raw string value.
begin_l: Option<Loc>
Location of the string begin
"foo"
~
None
if string literal is a part of the words array (like %w[foo bar baz]
)
end_l: Option<Loc>
Location of the string begin
"foo"
~
None
if string literal is a part of the words array (like %w[foo bar baz]
)
expression_l: Loc
Location of the full expression
"foo"
~~~~~
Trait Implementations§
impl StructuralPartialEq for Str
Auto Trait Implementations§
impl Freeze for Str
impl RefUnwindSafe for Str
impl Send for Str
impl Sync for Str
impl Unpin for Str
impl UnwindSafe for Str
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more