I am trying to get this program to compile:
extern crate num;
use num::bigint::BigInt;
use std::from_str::FromStr;
fn main () {
println!("{}", BigInt::from_str("1"));
}
But the output from rustc
is
testing.rs:6:20: 6:36 error: unresolved name `BigInt::from_str`.
testing.rs:6 println!("{}", BigInt::from_str("1"));
^~~~~~~~~~~~~~~~
note: in expansion of format_args!
<std macros>:2:23: 2:77 note: expansion site
<std macros>:1:1: 3:2 note: in expansion of println!
testing.rs:6:5: 6:43 note: expansion site
error: aborting due to previous error
I suspect I am doing something trivially wrong, but I've tried searching for examples and tried a bunch of different changes and nothing I tried worked.
How do I change my source code so this compiles?
The plain function from_str
has been removed in recent versions of Rust. This function is now only available as a method of the FromStr
trait.
The modern way to parse values is the .parse
method of str
:
extern crate num;
use num::bigint::BigInt;
fn main() {
match "1".parse::<BigInt>() {
Ok(n) => println!("{}", n),
Err(_) => println!("Error")
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With