【发布时间】:2015-07-08 09:11:03
【问题描述】:
当尝试运行构建大型 clap::App (find the source here) 的程序时,我得到一个堆栈溢出:thread '<main>' has overflowed its stack。
到目前为止,我无法弄清楚如何指示 rustc 增加堆栈大小以实现暴力解决方法。 RUST_MIN_STACK 似乎只适用于运行时,即使在那里它似乎也没有任何效果。
生成代码后,我可能需要做的是将 SubCommand 创建移动到运行时,这是我接下来要尝试的。
但是,您有没有办法解决这个问题?
如果构建的结构足够大并且足够嵌套,那么解决这个问题似乎很重要,因为构建器模式似乎很容易出现这个问题。
如何重现
git clone -b clap https://github.com/Byron/google-apis-rs
cd google-apis-rs
git checkout 9a8ae4b
make dfareporting2d1-cli-cargo ARGS=run
请注意,您将需要我的 quasi 分支并在本地设置覆盖以允许使用最新的编译器进行构建。
元
➜ google-apis-rs git:(clap) rustc --version
rustc 1.1.0-nightly (97d4e76c2 2015-04-27) (built 2015-04-28)
【问题讨论】:
-
我猜它是特定于操作系统的。
标签: rust