-
Notifications
You must be signed in to change notification settings - Fork 3
/
Cargo.toml
116 lines (102 loc) · 2.98 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[workspace]
resolver = "2"
members = ["packages/*"]
exclude = ["packages/rust-lexicase"]
[workspace.package]
version = "0.1.0"
authors = ["Nic McPhee", "Justus Flügel", "Many cool people on Twitch"]
description = "An evolutionary computation system in Rust"
documentation = "https://github.com/unhindered-ec/unhindered-ec"
repository = "https://github.com/unhindered-ec/unhindered-ec.git"
edition = "2021"
license = "MIT OR Apache-2.0"
[profile.release]
debug = true
[workspace.dependencies]
anyhow = "1.0.80"
clap = "4.5.1"
rand = "0.9.0-alpha.1"
num-traits = "0.2.18"
thiserror = "1.0.59"
itertools = "0.12.1"
macro_railroad_annotation = "1.0.3"
test-strategy = "0.3.1"
proptest = "1.2.0"
criterion = { version = "0.5.1", features = ["html_reports"] }
ec-core = { path = "packages/ec-core" }
ec-linear = { path = "packages/ec-linear" }
push = { path = "packages/push" }
push_macros = { path = "packages/push-macros" }
[workspace.lints.clippy]
# Lint groups
# These have a priority of -1 to ensure that individual
# Lints override them, if present.
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
cargo = { level = "warn", priority = -1 }
perf = { level = "warn", priority = -1 }
complexity = { level = "warn", priority = -1 }
correctness = { level = "deny", priority = -1 }
style = { level = "warn", priority = -1 }
# Individual lints
dbg_macro = "warn"
clone_on_ref_ptr = "warn"
empty_enum_variants_with_brackets = "warn"
empty_structs_with_brackets = "warn"
error_impl_error = "warn"
format_push_string = "warn"
if_then_some_else_none = "warn"
infinite_loop = "warn"
rc_buffer = "warn"
rc_mutex = "warn"
redundant_type_annotations = "warn"
rest_pat_in_fully_bound_structs = "warn"
self_named_module_files = "deny"
suspicious_xor_used_as_pow = "warn"
tests_outside_test_module = "deny"
todo = "warn"
try_err = "warn"
unnecessary_safety_comment = "warn"
unnecessary_safety_doc = "warn"
unnecessary_self_imports = "warn"
unneeded_field_pattern = "warn"
use_debug = "warn"
arithmetic_side_effects = "warn"
unwrap_used = "warn"
expect_used = "warn"
panic = "warn"
module_name_repetitions = "allow"
as_conversions = "deny"
# these lints rely on the lint reasons rfc
# https://github.com/rust-lang/rust/issues/54503
# and will become active once that is in stable.
# We should get ample warning with the nightly & beta
# ci builds if we need to change anything
allow_attributes_without_reason = "warn"
allow_attributes = "deny"
[workspace.metadata.example_runner]
default = [
{ template = "balanced" },
{ template = "big_population" },
{ template = "many_generations" }
]
[workspace.metadata.example_runner.templates]
balanced.arguments = [
"--num-generations",
"10",
"--population-size",
"200"
]
big_population.arguments = [
"--num-generations",
"1",
"--population-size",
"2000"
]
many_generations.arguments = [
"--num-generations",
"200",
"--population-size",
"10"
]