-
Notifications
You must be signed in to change notification settings - Fork 55
Expand file tree
/
Copy pathCargo.toml
More file actions
70 lines (64 loc) · 2.62 KB
/
Cargo.toml
File metadata and controls
70 lines (64 loc) · 2.62 KB
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
[workspace]
resolver = "2"
members = [
"contracts/teachlink",
"contracts/documentation",
]
[workspace.package]
edition = "2021"
repository = "https://github.com/rinafcode/teachLink_contract"
license = "MIT"
[workspace.dependencies]
soroban-sdk = "25.3.0"
# Coverage and testing dependencies
cargo-llvm-cov = "0.6"
tarpaulin = "0.27"
[profile.release]
opt-level = "z"
overflow-checks = true
debug = 0
strip = "symbols"
debug-assertions = false
panic = "abort"
codegen-units = 1
lto = true
[workspace.lints.clippy]
# Soroban SDK contract functions require owned values in their signatures
needless_pass_by_value = "allow"
# Contract functions are invoked via the WASM ABI, not from Rust; #[must_use] is not applicable
must_use_candidate = "allow"
# Contract functions don't require full rustdoc panic/error documentation
missing_panics_doc = "allow"
missing_errors_doc = "allow"
# Contract docstrings don't need to satisfy markdown link-formatting rules
doc_markdown = "allow"
# Soroban contracts may use panics inside result-returning functions for precondition checks
panic_in_result_fn = "allow"
# Cross-chain contract APIs require multiple parameters; splitting them would break the WASM ABI
too_many_arguments = "allow"
# Soroban environment semantics sometimes require passing Copy types by value
trivially_copy_pass_by_ref = "allow"
needless_borrow = "allow"
# Numeric literals in tests are byte-level addresses/hashes; underscores can obscure their structure
unreadable_literal = "allow"
# Soroban test macros emit patterns that trigger constant-assertion and long-function lints
assertions_on_constants = "allow"
too_many_lines = "allow"
# Soroban test-utility patterns use underscore-prefixed bindings that are still meaningful
no_effect_underscore_binding = "allow"
# Soroban SDK test helpers use short-lived Vec literals that Clippy flags as useless
useless_vec = "allow"
# Uniform format-string style across SDK versions; inlining would reduce compatibility
uninlined_format_args = "allow"
# Soroban contract functions may return Result<(), E> requiring unit return syntax
unused_unit = "allow"
[workspace.lints.rust]
unsafe_code = "deny"
# Scaffolded contract modules pre-declare storage keys, helper functions, and event structs
# that will be wired up as the contract grows. Suppressing dead_code at the workspace level
# avoids noise from intentional scaffolding while keeping all meaningful Clippy checks active.
dead_code = "allow"
unused_variables = "allow"
# Soroban SDK macros internally check for cfg(feature = "testutils"); this feature is only
# enabled via dev-dependency features and not declared at the crate level.
unexpected_cfgs = "allow"