Trait wasmtime_wiggle::bitflags::_core::str::FromStr 1.0.0[−][src]
Expand description
Parse a value from a string
FromStr
’s from_str
method is often used implicitly, through
str
’s parse
method. See parse
’s documentation for examples.
FromStr
does not have a lifetime parameter, and so you can only parse types
that do not contain a lifetime parameter themselves. In other words, you can
parse an i32
with FromStr
, but not a &i32
. You can parse a struct that
contains an i32
, but not one that contains an &i32
.
Examples
Basic implementation of FromStr
on an example Point
type:
use std::str::FromStr; use std::num::ParseIntError; #[derive(Debug, PartialEq)] struct Point { x: i32, y: i32 } impl FromStr for Point { type Err = ParseIntError; fn from_str(s: &str) -> Result<Self, Self::Err> { let coords: Vec<&str> = s.trim_matches(|p| p == '(' || p == ')' ) .split(',') .collect(); let x_fromstr = coords[0].parse::<i32>()?; let y_fromstr = coords[1].parse::<i32>()?; Ok(Point { x: x_fromstr, y: y_fromstr }) } } let p = Point::from_str("(1,2)"); assert_eq!(p.unwrap(), Point{ x: 1, y: 2} )
Associated Types
Required methods
fn from_str(s: &str) -> Result<Self, Self::Err>
[src]
fn from_str(s: &str) -> Result<Self, Self::Err>
[src]Parses a string s
to return a value of this type.
If parsing succeeds, return the value inside Ok
, otherwise
when the string is ill-formatted return an error specific to the
inside Err
. The error type is specific to implementation of the trait.
Examples
Basic usage with i32
, a type that implements FromStr
:
use std::str::FromStr; let s = "5"; let x = i32::from_str(s).unwrap(); assert_eq!(5, x);
Implementations on Foreign Types
impl FromStr for SocketAddrV4
[src]
impl FromStr for SocketAddrV4
[src]impl FromStr for SocketAddr
[src]
impl FromStr for SocketAddr
[src]impl FromStr for SocketAddrV6
[src]
impl FromStr for SocketAddrV6
[src]impl FromStr for f64
[src]
impl FromStr for f64
[src]pub fn from_str(src: &str) -> Result<f64, ParseFloatError>
[src]
pub fn from_str(src: &str) -> Result<f64, ParseFloatError>
[src]Converts a string in base 10 to a float. Accepts an optional decimal exponent.
This function accepts strings such as
- ‘3.14’
- ‘-3.14’
- ‘2.5E10’, or equivalently, ‘2.5e10’
- ‘2.5E-10’
- ‘5.’
- ‘.5’, or, equivalently, ‘0.5’
- ‘inf’, ‘-inf’, ‘NaN’
Leading and trailing whitespace represent an error.
Grammar
All strings that adhere to the following EBNF grammar
will result in an Ok
being returned:
Float ::= Sign? ( 'inf' | 'NaN' | Number )
Number ::= ( Digit+ |
Digit+ '.' Digit* |
Digit* '.' Digit+ ) Exp?
Exp ::= [eE] Sign? Digit+
Sign ::= [+-]
Digit ::= [0-9]
Known bugs
In some situations, some strings that should create a valid float instead return an error. See issue #31407 for details.
Arguments
- src - A string
Return value
Err(ParseFloatError)
if the string did not represent a valid
number. Otherwise, Ok(n)
where n
is the floating-point
number represented by src
.
type Err = ParseFloatError
impl FromStr for bool
[src]
impl FromStr for bool
[src]pub fn from_str(s: &str) -> Result<bool, ParseBoolError>
[src]
pub fn from_str(s: &str) -> Result<bool, ParseBoolError>
[src]Parse a bool
from a string.
Yields a Result<bool, ParseBoolError>
, because s
may or may not
actually be parseable.
Examples
use std::str::FromStr; assert_eq!(FromStr::from_str("true"), Ok(true)); assert_eq!(FromStr::from_str("false"), Ok(false)); assert!(<bool as FromStr>::from_str("not even a boolean").is_err());
Note, in many cases, the .parse()
method on str
is more proper.
assert_eq!("true".parse(), Ok(true)); assert_eq!("false".parse(), Ok(false)); assert!("not even a boolean".parse::<bool>().is_err());
type Err = ParseBoolError
impl FromStr for f32
[src]
impl FromStr for f32
[src]pub fn from_str(src: &str) -> Result<f32, ParseFloatError>
[src]
pub fn from_str(src: &str) -> Result<f32, ParseFloatError>
[src]Converts a string in base 10 to a float. Accepts an optional decimal exponent.
This function accepts strings such as
- ‘3.14’
- ‘-3.14’
- ‘2.5E10’, or equivalently, ‘2.5e10’
- ‘2.5E-10’
- ‘5.’
- ‘.5’, or, equivalently, ‘0.5’
- ‘inf’, ‘-inf’, ‘NaN’
Leading and trailing whitespace represent an error.
Grammar
All strings that adhere to the following EBNF grammar
will result in an Ok
being returned:
Float ::= Sign? ( 'inf' | 'NaN' | Number )
Number ::= ( Digit+ |
Digit+ '.' Digit* |
Digit* '.' Digit+ ) Exp?
Exp ::= [eE] Sign? Digit+
Sign ::= [+-]
Digit ::= [0-9]
Known bugs
In some situations, some strings that should create a valid float instead return an error. See issue #31407 for details.
Arguments
- src - A string
Return value
Err(ParseFloatError)
if the string did not represent a valid
number. Otherwise, Ok(n)
where n
is the floating-point
number represented by src
.
type Err = ParseFloatError
impl FromStr for LevelFilter
[src]
impl FromStr for LevelFilter
[src]type Err = ParseLevelError
pub fn from_str(
level: &str
) -> Result<LevelFilter, <LevelFilter as FromStr>::Err>
[src]
level: &str
) -> Result<LevelFilter, <LevelFilter as FromStr>::Err>
impl FromStr for Offset32
impl FromStr for Offset32
impl FromStr for LibCall
impl FromStr for LibCall
impl FromStr for LibcallCallConv
impl FromStr for LibcallCallConv
impl FromStr for Imm64
impl FromStr for Imm64
impl FromStr for Uimm32
impl FromStr for Uimm32
impl FromStr for CallConv
impl FromStr for CallConv
impl FromStr for TlsModel
impl FromStr for TlsModel
impl FromStr for Ieee32
impl FromStr for Ieee32
impl FromStr for ArgumentPurpose
impl FromStr for ArgumentPurpose
impl FromStr for Opcode
impl FromStr for Opcode
impl FromStr for TrapCode
impl FromStr for TrapCode
impl FromStr for AtomicRmwOp
impl FromStr for AtomicRmwOp
impl FromStr for Uimm64
impl FromStr for Uimm64
impl FromStr for Regalloc
impl FromStr for Regalloc
impl FromStr for OptLevel
impl FromStr for OptLevel
impl FromStr for Ieee64
impl FromStr for Ieee64
impl FromStr for ExternalName
impl FromStr for ExternalName
impl FromStr for ConstantData
impl FromStr for ConstantData
impl FromStr for FloatCC
impl FromStr for FloatCC
impl FromStr for IntCC
impl FromStr for IntCC
impl FromStr for Mips32Architecture
impl FromStr for Mips32Architecture
impl FromStr for Triple
impl FromStr for Triple
impl FromStr for Aarch64Architecture
impl FromStr for Aarch64Architecture
impl FromStr for Riscv64Architecture
impl FromStr for Riscv64Architecture
impl FromStr for Riscv32Architecture
impl FromStr for Riscv32Architecture
impl FromStr for Mips64Architecture
impl FromStr for Mips64Architecture
impl FromStr for OperatingSystem
impl FromStr for OperatingSystem
impl FromStr for ArmArchitecture
impl FromStr for ArmArchitecture
impl FromStr for X86_32Architecture
impl FromStr for X86_32Architecture
Implementors
impl FromStr for wasmtime_wiggle::tracing::metadata::LevelFilter
[src]
impl FromStr for wasmtime_wiggle::tracing::metadata::LevelFilter
[src]type Err = ParseLevelFilterError
pub fn from_str(
from: &str
) -> Result<LevelFilter, <LevelFilter as FromStr>::Err>
[src]
from: &str
) -> Result<LevelFilter, <LevelFilter as FromStr>::Err>
impl FromStr for NonZeroI16
1.35.0[src]
impl FromStr for NonZeroI16
1.35.0[src]type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroI16, <NonZeroI16 as FromStr>::Err>
[src]
impl FromStr for NonZeroI32
1.35.0[src]
impl FromStr for NonZeroI32
1.35.0[src]type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroI32, <NonZeroI32 as FromStr>::Err>
[src]
impl FromStr for NonZeroI64
1.35.0[src]
impl FromStr for NonZeroI64
1.35.0[src]type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroI64, <NonZeroI64 as FromStr>::Err>
[src]
impl FromStr for NonZeroI128
1.35.0[src]
impl FromStr for NonZeroI128
1.35.0[src]type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroI128, <NonZeroI128 as FromStr>::Err>
[src]
impl FromStr for NonZeroIsize
1.35.0[src]
impl FromStr for NonZeroIsize
1.35.0[src]type Err = ParseIntError
pub fn from_str(
src: &str
) -> Result<NonZeroIsize, <NonZeroIsize as FromStr>::Err>
[src]
src: &str
) -> Result<NonZeroIsize, <NonZeroIsize as FromStr>::Err>
impl FromStr for NonZeroU16
1.35.0[src]
impl FromStr for NonZeroU16
1.35.0[src]type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroU16, <NonZeroU16 as FromStr>::Err>
[src]
impl FromStr for NonZeroU32
1.35.0[src]
impl FromStr for NonZeroU32
1.35.0[src]type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroU32, <NonZeroU32 as FromStr>::Err>
[src]
impl FromStr for NonZeroU64
1.35.0[src]
impl FromStr for NonZeroU64
1.35.0[src]type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroU64, <NonZeroU64 as FromStr>::Err>
[src]
impl FromStr for NonZeroU128
1.35.0[src]
impl FromStr for NonZeroU128
1.35.0[src]type Err = ParseIntError
pub fn from_str(src: &str) -> Result<NonZeroU128, <NonZeroU128 as FromStr>::Err>
[src]
impl FromStr for NonZeroUsize
1.35.0[src]
impl FromStr for NonZeroUsize
1.35.0[src]type Err = ParseIntError
pub fn from_str(
src: &str
) -> Result<NonZeroUsize, <NonZeroUsize as FromStr>::Err>
[src]
src: &str
) -> Result<NonZeroUsize, <NonZeroUsize as FromStr>::Err>