我在Rust中尝试了一个递归因子算法.我使用这个版本的编译器:
rustc 1.12.0 (3191fbae9 2016-09-23)
cargo 0.13.0-nightly (109cb7c 2016-08-19)
Run Code Online (Sandbox Code Playgroud)
码:
extern crate num_bigint;
extern crate num_traits;
use num_bigint::{BigUint, ToBigUint};
use num_traits::One;
fn factorial(num: u64) -> BigUint {
let current: BigUint = num.to_biguint().unwrap();
if num <= 1 {
return One::one();
}
return current * factorial(num - 1);
}
fn main() {
let num: u64 = 100000;
println!("Factorial {}! = {}", num, factorial(num))
}
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
$ cargo run
thread 'main' has overflowed its stack
fatal runtime error: stack overflow
error: Process didn't …Run Code Online (Sandbox Code Playgroud) 当我使用codecov.io记录我的Rust项目的代码覆盖率时,覆盖范围似乎不正确.
这很奇怪.
我无法提供完整的复制项目.
我正在使用Rust的标准TravisCI配置.这是我的.travis.yml:
language: rust
cache: cargo
dist: trusty
sudo: required
rust:
- stable
- beta
- nightly
matrix:
allow_failures:
- rust: nightly
script:
- cargo build --verbose --all
- cargo test --verbose --all
after_success: |
wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz &&
tar xzf master.tar.gz &&
cd kcov-master &&
mkdir build &&
cd build &&
cmake .. &&
make &&
make install DESTDIR=../../kcov-build &&
cd ../.. &&
rm -rf kcov-master &&
for file in target/debug/myproject-*[^\.d]; do mkdir -p …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的Rust库编写示例代码,但我不需要编译示例代码.
重现步骤:
cargo new
将此添加到 src/lib.rs
//! ## How to use
//! Validator usage:
//! ```ignore
//! fn validate(values: &Map) -> ValidateResults {
//! ValidateResults(vec!(
//! Validator::<String>::new(btreemap! {
//! "requiered".to_string() => true.to_json(),
//! "vtype".to_string() => "string".to_json(),
//! }).validate("title".to_string(), values.find(&["pages", "title"]$
//!
//! Validator::<bool>::new(btreemap! {
//! "default".to_string() => false.to_json(),
//! }).validate("published".to_string(), values.find(&["published"])$
//! ))
//! }
//! ```
pub fn main() {
println!("Hello, world!");
}
Run Code Online (Sandbox Code Playgroud)cargo test
我收到一个错误:
$ cargo test
Finished debug [unoptimized + debuginfo] target(s) in 0.0 secs
Running …Run Code Online (Sandbox Code Playgroud)