Add large_thread feature

This commit is contained in:
Shunsuke Shibayama 2022-12-17 17:59:51 +09:00
parent 5be316ae33
commit 2d689ee698
6 changed files with 21 additions and 4 deletions

View file

@ -25,7 +25,7 @@ jobs:
rustup update stable
cargo build --verbose
- name: Run tests
run: cargo test --verbose
run: cargo test --features large_thread --verbose
- uses: actions-rs/cargo@v1
with:
command: clippy

View file

@ -46,6 +46,11 @@ traditional_chinese = [
unicode = ["erg_common/unicode", "erg_parser/unicode", "erg_compiler/unicode"]
pretty = ["erg_common/pretty", "erg_parser/pretty", "erg_compiler/unicode"]
pre-commit = []
large_thread = [
"erg_common/large_thread",
"erg_parser/large_thread",
"erg_compiler/large_thread"
]
[dependencies]
erg_common = { version = "0.6.0-beta.2", path = "./compiler/erg_common" }

View file

@ -17,6 +17,7 @@ simplified_chinese = []
traditional_chinese = []
unicode = []
pretty = []
large_thread = []
[target.'cfg(unix)'.dependencies]
libc = { version = "0.2", default-features = false }

View file

@ -8,7 +8,7 @@ where
F: FnOnce() -> T + Send + 'static,
T: Send + 'static,
{
if cfg!(windows) {
if cfg!(windows) || cfg!(features = "large_thread") {
const STACK_SIZE: usize = 4 * 1024 * 1024;
let child = thread::Builder::new()
.stack_size(STACK_SIZE)

View file

@ -22,8 +22,18 @@ traditional_chinese = [
"erg_common/traditional_chinese",
"erg_parser/traditional_chinese",
]
unicode = ["erg_common/unicode"]
pretty = ["erg_common/pretty"]
unicode = [
"erg_common/unicode",
"erg_parser/unicode",
]
pretty = [
"erg_common/pretty",
"erg_parser/pretty"
]
large_thread = [
"erg_common/large_thread",
"erg_parser/large_thread",
]
[dependencies]
erg_common = { version = "0.6.0-beta.2", path = "../erg_common" }

View file

@ -16,6 +16,7 @@ simplified_chinese = ["erg_common/simplified_chinese"]
traditional_chinese = ["erg_common/traditional_chinese"]
unicode = ["erg_common/unicode"]
pretty = ["erg_common/pretty"]
large_thread = ["erg_common/large_thread"]
[dependencies]
erg_common = { version = "0.6.0-beta.2", path = "../erg_common" }