11
22# ## https://doc.rust-lang.org/cargo/reference/manifest.html
3- # rustup override set nightly
3+ # Optional for nightly-only experiments: rustup override set nightly
44
55[package ]
66name = " inrust"
@@ -9,18 +9,19 @@ edition.workspace = true
99version.workspace = true
1010license.workspace = true
1111authors.workspace = true
12- homepage.workspace = true
13- repository.workspace = true
12+ repository.workspace = true
13+ homepage.workspace = true
14+
1415description = " Accumulate knowledge of my study on Rust language"
1516categories = [ " command-line-utilities" , " games" , " mathematics" ]
1617keywords = [ " 24-game" , " 24-solver" , " 24-puzzle" , " 24-challenge" ]
1718exclude = [ " README-DSP.md" , " tmp" ] # "tests", "benches", "fuzz"
1819# publish = [ "crates-io" ] # cargo publish --registry crates-io
1920
20- # build = "build.rs" # default, build = false
21+ # build = "build.rs" # auto-discovered by default; use ` build = false` to disable it
2122
2223[workspace .package ]
23- edition = " 2021" # use ' cargo fix' to fix for compatibility with different Rust edition.
24+ edition = " 2021" # use ` cargo fix --edition` before migrating to a newer edition
2425version = " 0.3.9"
2526# readme = "README.md"
2627license = " MIT OR Apache-2.0"
@@ -54,8 +55,8 @@ cxx = { version = "1.0", optional = true }
5455dhat = { version = " 0.3" , optional = true }
5556pprof = { version = " 0.15" , features = [ " flamegraph" , " criterion" ], optional = true }
5657
57- gxhash = { version = " 3.4" , optional = true }
5858 ahash = { version = " 0.8" , optional = true } # https://github.com/tkaitchuck/aHash
59+ gxhash = { version = " 3.4" , optional = true }
5960num-bigint = { version = " 0.4" , optional = true }
6061num-rational = { version = " 0.4" , optional = true }
6162serde = { version = " 1" , features = [ " derive" ], optional = true }
@@ -70,9 +71,6 @@ regex = "1.12"
7071rand = " 0.9"
7172# csv = "1.1"
7273
73- [lints .rust ]
74- unexpected_cfgs = { level = " warn" , check-cfg = [' cfg(coverage_nightly)' ] }
75-
7674[build-dependencies ] # used for compiling build script
7775cc = { version = " 1.2" , features = [ " parallel" ], optional = true }
7876cxx-build = { version = " 1.0" , optional = true }
@@ -81,10 +79,10 @@ chrono = "0.4"
8179
8280[features ]
8381debug = []
84- cli = [ " yansi" , " rand" ]
85- cxx = [ " dep:cxx" , " cxx-build" ] # implied by optional dependency
86- default = [ " cc" , " cli" , " ahash" ] # "gxhash", "cxx", "serde", "num-rational", "num-bigint",
87- dhat-heap = [ " dhat" ]
82+ cli = [ " dep: yansi" , " dep: rand" ]
83+ cxx = [ " dep:cxx" , " dep: cxx-build" ] # `dep:` avoids implicit dependency features
84+ default = [ " cc" , " cli" , " ahash" ] # opt-in alternatives: "gxhash", "cxx", "serde", etc.
85+ dhat-heap = [ " dep: dhat" ]
8886
8987[[bin ]]
9088name = " inrust"
@@ -93,8 +91,7 @@ required-features = [ "cli" ]
9391[[bench ]]
9492name = " calc24_bench"
9593# path = "benches/calc24_bench.rs"
96- # cargo_bench_support = true
97- # html_reports = false
94+ # Criterion HTML reports are configured by Criterion, not as `[[bench]]` keys.
9895harness = false
9996
10097# [lib]
@@ -109,21 +106,23 @@ opt-level = 1 # Enable a small amount of optimization in debug mode
109106opt-level = 3 # Enable high optimizations for dependencies, but not for own code.
110107
111108[profile .release ]
112- codegen-units = 1 # Perform optimizations on all codegen units .
113- strip = ' debuginfo' # keep ' symbols'
114- panic = ' abort' # Do not perform backtrace for panic on release builds .
109+ codegen-units = 1 # Optimize the crate as one codegen unit; slower build, potentially faster code .
110+ strip = ' debuginfo' # Remove debug information while retaining symbols where the platform supports it.
111+ panic = ' abort' # Abort instead of unwinding; panic hooks may still print a message/backtrace .
115112# debug = 'full' # for flamegraph
116113# opt-level = 3 # default level
117- lto = ' fat' # true
114+ lto = ' fat' # ` true` also selects fat LTO.
118115
119116# cargo build -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort
120117
121118# [profile.release-lto] # customized profile
122119# inherits = "release"
123120
121+ [lints .rust ]
122+ unexpected_cfgs = { level = " warn" , check-cfg = [' cfg(coverage_nightly)' ] }
123+
124124[workspace ]
125125members = [] # "inperse", "indiox", #"fuzz",
126126 # "inyew", "inyew/src-tauri", #"inslint", "inegui",
127127# exclude = [ "indsp", "inbevy", "inwasm", "cortex-m" ]
128- # resolver = "2" # default for 2021 edition?
129-
128+ # resolver = "2" # Match edition 2021 dependency-feature resolution explicitly.
0 commit comments