-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
129 lines (122 loc) · 5.82 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
117
118
119
120
121
122
123
124
125
126
127
128
129
[package]
name = "crysalis"
version = "0.1.0"
edition = "2021"
license = "MIT"
authors = ["Vincent Berthier <[email protected]>"]
[dependencies]
bit_field = "0.10.2"
bootloader = { version = "=0.9", features = ["map_physical_memory"] }
conquer-once = { version ="0.4.0", default-features = false }
crossbeam-queue = { version = "0.3.11", default-features = false, features = ["alloc"] }
futures-util = { version = "0.3.30", default-features = false, features = ["alloc"] }
lazy_static = { version = "1.5.0", features = ["spin_no_std"] }
linked_list_allocator = "0.10.5"
pc-keyboard = "0.7.0"
pic8259 = "0.11.0"
spin = "0.9.8"
uart_16550 = "0.3.1"
volatile = "=0.2.6"
x86_64 = "0.15.1"
# [profile.dev]
# panic = "abort"
[profile.release]
panic = "abort"
# Makes tests quite Qemu instead of going into the rest of the kernel.
[package.metadata.bootimage]
test-args = ["-device", "isa-debug-exit,iobase=0xf4,iosize=0x04", "-serial", "stdio", "-display", "none"]
test-success-exit-code = 33 # (0x10 << 1) | 1
test-timeout = 60 # in seconds
[lints.clippy]
nursery = "warn"
pedantic = "warn"
restriction = "allow" # activated individually below
module_name_repetitions = { level = "allow", priority = 1 }
used_underscore_binding = { level = "allow", priority = 1 }
empty_loop = { level = "allow", priority = 1 }
missing_panics_doc = { level = "allow", priority = 1 }
# Restriction lints
absolute_paths = { level = "warn", priority = 1 }
alloc_instead_of_core = { level = "warn", priority = 1 }
allow_attributes = { level = "warn", priority = 1 }
# allow_attributes_without_reason = { level = "warn", priority = 1 }
# arithmetic_side_effects = { level = "warn", priority = 1 }
assertions_on_result_states = { level = "warn", priority = 1 }
as_underscore = { level = "warn", priority = 1 }
big_endian_bytes = { level = "warn", priority = 1 }
clone_on_ref_ptr = { level = "warn", priority = 1 }
create_dir = { level = "warn", priority = 1 }
dbg_macro = { level = "warn", priority = 1 }
# default_numeric_fallback = { level = "warn", priority = 1 }
default_union_representation = { level = "warn", priority = 1 }
deref_by_slicing = { level = "warn", priority = 1 }
disallowed_script_idents = { level = "warn", priority = 1 }
else_if_without_else = { level = "warn", priority = 1 }
empty_drop = { level = "warn", priority = 1 }
# empty_enum_variants_with_brackets = { level = "warn", priority = 1 } # 1.77 lint
empty_structs_with_brackets = { level = "warn", priority = 1 }
# error_impl_error = { level = "warn", priority = 1 }
exit = { level = "warn", priority = 1 }
# expect_used = { level = "warn", priority = 1 }
filetype_is_file = { level = "warn", priority = 1 }
float_cmp_const = { level = "warn", priority = 1 }
fn_to_numeric_cast_any = { level = "warn", priority = 1 }
format_push_string = { level = "warn", priority = 1 }
get_unwrap = { level = "warn", priority = 1 }
host_endian_bytes = { level = "warn", priority = 1 }
if_then_some_else_none = { level = "warn", priority = 1 }
impl_trait_in_params = { level = "warn", priority = 1 }
indexing_slicing = { level = "allow", priority = 1 }
inline_asm_x86_att_syntax = { level = "warn", priority = 1 }
inline_asm_x86_intel_syntax = { level = "warn", priority = 1 }
integer_division = { level = "warn", priority = 1 }
iter_over_hash_type = { level = "warn", priority = 1 }
large_include_file = { level = "warn", priority = 1 }
let_underscore_must_use = { level = "warn", priority = 1 }
little_endian_bytes = { level = "warn", priority = 1 }
lossy_float_literal = { level = "warn", priority = 1 }
map_err_ignore = { level = "warn", priority = 1 }
mem_forget = { level = "warn", priority = 1 }
min_ident_chars = { level = "warn", priority = 1 }
# missing_assert_message = { level = "warn", priority = 1 }
missing_asserts_for_indexing = { level = "warn", priority = 1 }
mixed_read_write_in_expression = { level = "warn", priority = 1 }
multiple_inherent_impl = { level = "allow", priority = 1 }
# multiple_unsafe_ops_per_block = { level = "warn", priority = 1 }
mutex_atomic = { level = "warn", priority = 1 }
needless_raw_strings = { level = "warn", priority = 1 }
panic_in_result_fn = { level = "warn", priority = 1 }
# panic = { level = "warn", priority = 1 }
partial_pub_fields = { level = "warn", priority = 1 }
print_stderr = { level = "warn", priority = 1 }
print_stdout = { level = "warn", priority = 1 }
pub_without_shorthand = { level = "warn", priority = 1 }
rc_buffer = { level = "warn", priority = 1 }
rc_mutex = { level = "warn", priority = 1 }
redundant_type_annotations = { level = "warn", priority = 1 }
rest_pat_in_fully_bound_structs = { level = "warn", priority = 1 }
same_name_method = { level = "warn", priority = 1 }
self_named_module_files = { level = "warn", priority = 1 }
semicolon_inside_block = { level = "warn", priority = 1 }
shadow_unrelated = { level = "warn", priority = 1 }
string_add = { level = "warn", priority = 1 }
string_slice = { level = "warn", priority = 1 }
string_to_string = { level = "warn", priority = 1 }
str_to_string = { level = "warn", priority = 1 }
suspicious_xor_used_as_pow = { level = "warn", priority = 1 }
tests_outside_test_module = { level = "warn", priority = 1 }
todo = { level = "warn", priority = 1 }
try_err = { level = "warn", priority = 1 }
# undocumented_unsafe_blocks = { level = "warn", priority = 1 }
unimplemented = { level = "warn", priority = 1 }
unnecessary_safety_comment = { level = "warn", priority = 1 }
unnecessary_safety_doc = { level = "warn", priority = 1 }
unnecessary_self_imports = { level = "warn", priority = 1 }
unneeded_field_pattern = { level = "warn", priority = 1 }
unreachable = { level = "warn", priority = 1 }
unseparated_literal_suffix = { level = "warn", priority = 1 }
unwrap_in_result = { level = "warn", priority = 1 }
unwrap_used = { level = "warn", priority = 1 }
verbose_file_reads = { level = "warn", priority = 1 }
[workspace.metadata.spellcheck]
config = ".cargo/spellcheck.toml"