-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
179 lines (171 loc) · 7.07 KB
/
Cargo.toml
File metadata and controls
179 lines (171 loc) · 7.07 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
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
# SPDX-FileCopyrightText: Copyright © 2025 hashcatHitman
#
# SPDX-License-Identifier: Apache-2.0 OR MIT
[package]
name = "hack-assembler"
version = "0.1.0"
edition = "2024"
description = """\
An assembler that translates programs written in the Hack \
assembly language into Hack binary code.\
"""
repository = "https://github.com/hashcatHitman/hack-assembler"
license = "Apache-2.0 OR MIT"
keywords = ["nand2tetris", "assembler"]
categories = ["command-line-utilities", "compilers", "parser-implementations"]
publish = false
[lints.rust]
unsafe_code = "forbid"
deprecated_safe_2024 = "forbid"
missing_unsafe_on_extern = "forbid"
unsafe_attr_outside_unsafe = "forbid"
unsafe_op_in_unsafe_fn = "forbid"
absolute_paths_not_starting_with_crate = "warn"
ambiguous_negative_literals = "warn"
closure_returning_async_block = "warn"
deref_into_dyn_supertrait = "warn"
explicit_outlives_requirements = "warn"
fuzzy_provenance_casts = "warn"
if_let_rescope = "warn"
impl_trait_redundant_captures = "warn"
lossy_provenance_casts = "warn"
macro_use_extern_crate = "warn"
meta_variable_misuse = "warn"
missing_copy_implementations = "warn"
missing_debug_implementations = "warn"
missing_docs = "warn"
must_not_suspend = "warn"
non_ascii_idents = "warn"
redundant_imports = "warn"
redundant_lifetimes = "warn"
single_use_lifetimes = "warn"
trivial_casts = "warn"
trivial_numeric_casts = "warn"
unit_bindings = "warn"
unnameable_types = "warn"
unqualified_local_imports = "warn"
unreachable_pub = "warn"
unused_crate_dependencies = "warn"
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
unused_qualifications = "warn"
unused_results = "warn"
[lints.clippy]
correctness = "forbid"
suspicious = "warn"
complexity = "warn"
perf = "warn"
style = "warn"
pedantic = "warn"
cargo = "warn"
must_use_candidate = { level = "allow", priority = 1 }
nursery = "warn"
redundant_pub_crate = { level = "allow", priority = 1 }
# Restrictions
absolute_paths = { level = "warn", priority = 1 }
alloc_instead_of_core = { level = "warn", priority = 1 }
allow_attributes_without_reason = { level = "warn", priority = 1 }
arithmetic_side_effects = { level = "warn", priority = 1 }
as_pointer_underscore = { level = "warn", priority = 1 }
as_underscore = { level = "warn", priority = 1 }
assertions_on_result_states = { level = "warn", priority = 1 }
cfg_not_test = { level = "warn", priority = 1 }
clone_on_ref_ptr = { level = "warn", priority = 1 }
create_dir = { level = "warn", priority = 1 }
dbg_macro = { level = "warn", priority = 1 }
decimal_literal_representation = { 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 }
empty_structs_with_brackets = { level = "warn", priority = 1 }
exit = { level = "warn", priority = 1 }
expect_used = { level = "warn", priority = 1 }
field_scoped_visibility_modifiers = { 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 }
if_then_some_else_none = { level = "warn", priority = 1 }
impl_trait_in_params = { level = "warn", priority = 1 }
indexing_slicing = { level = "warn", priority = 1 }
infinite_loop = { level = "warn", priority = 1 }
integer_division = { level = "warn", priority = 1 }
integer_division_remainder_used = { 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 }
lossy_float_literal = { level = "warn", priority = 1 }
map_err_ignore = { level = "warn", priority = 1 }
map_with_unused_argument_over_ranges = { 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 }
missing_docs_in_private_items = { level = "warn", priority = 1 }
mixed_read_write_in_expression = { level = "warn", priority = 1 }
mod_module_files = { level = "warn", priority = 1 }
module_name_repetitions = { level = "warn", priority = 1 }
multiple_inherent_impl = { level = "warn", priority = 1 }
multiple_unsafe_ops_per_block = { level = "forbid", priority = 1 }
mutex_atomic = { level = "warn", priority = 1 }
mutex_integer = { level = "warn", priority = 1 }
needless_raw_strings = { level = "warn", priority = 1 }
non_ascii_literal = { level = "warn", priority = 1 }
non_zero_suggestions = { level = "warn", priority = 1 }
panic = { level = "warn", priority = 1 }
panic_in_result_fn = { level = "warn", priority = 1 }
partial_pub_fields = { level = "warn", priority = 1 }
pathbuf_init_then_push = { level = "warn", priority = 1 }
pattern_type_mismatch = { level = "warn", priority = 1 }
precedence_bits = { level = "warn", priority = 1 }
pub_without_shorthand = { level = "warn", priority = 1 }
rc_buffer = { level = "warn", priority = 1 }
rc_mutex = { level = "warn", priority = 1 }
redundant_test_prefix = { level = "warn", priority = 1 }
renamed_function_params = { level = "warn", priority = 1 }
rest_pat_in_fully_bound_structs = { level = "warn", priority = 1 }
return_and_then = { level = "warn", priority = 1 }
same_name_method = { level = "warn", priority = 1 }
semicolon_outside_block = { level = "warn", priority = 1 }
single_char_lifetime_names = { level = "warn", priority = 1 }
std_instead_of_alloc = { level = "warn", priority = 1 }
std_instead_of_core = { level = "warn", priority = 1 }
str_to_string = { level = "warn", priority = 1 }
string_add = { level = "warn", priority = 1 }
string_lit_chars_any = { level = "warn", priority = 1 }
string_slice = { level = "warn", priority = 1 }
string_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 }
undocumented_unsafe_blocks = { level = "forbid", 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 }
unused_result_ok = { level = "warn", priority = 1 }
unused_trait_names = { level = "warn", priority = 1 }
unwrap_in_result = { level = "warn", priority = 1 }
unwrap_used = { level = "warn", priority = 1 }
use_debug = { level = "warn", priority = 1 }
verbose_file_reads = { level = "warn", priority = 1 }
wildcard_enum_match_arm = { level = "warn", priority = 1 }
[dependencies]
strum = "0.27"
strum_macros = "0.27"
[profile.release]
codegen-units = 1
strip = "symbols"
opt-level = 3
debug = false
lto = true
incremental = false
[profile.release.build-override]
codegen-units = 1
strip = "symbols"
opt-level = 3
debug = false
incremental = false