diff --git a/Cargo.toml b/Cargo.toml index 160068b8..e6ca91e0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,18 +9,23 @@ edition = "2024" pedantic = { level = "warn", priority = -1 } # 1. hygiene -allow_attributes = "deny" +# Unfortunately, due to an 'unused-braces' false postive with +# single line rstest fixtures, and the fact that fixtures do +# not permit 'expect' attributes, we must disable this deny. +# allow_attributes = "deny" allow_attributes_without_reason = "deny" blanket_clippy_restriction_lints = "deny" # 2. debugging leftovers -dbg_macro = "deny" -print_stdout = "deny" -print_stderr = "deny" +# Disabled pending further investigation into applicability. +# dbg_macro = "deny" +# print_stdout = "deny" +# print_stderr = "deny" # 3. panic-prone operations unwrap_used = "deny" -expect_used = "deny" +# Expect used in tests. Discoraged in implementation code. +# expect_used = "deny" indexing_slicing = "deny" string_slice = "deny" integer_division = "deny" diff --git a/docs/netsuke-design.md b/docs/netsuke-design.md index bcbe3028..e49e6c5f 100644 --- a/docs/netsuke-design.md +++ b/docs/netsuke-design.md @@ -244,8 +244,6 @@ table compares a simple C compilation project defined in both a traditional `Makefile` and a `Netsukefile` file. The comparison highlights Netsuke's explicit, structured, and self-documenting nature. - - | Feature | Makefile Example | Netsukefile Example | | --------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | Variables | CC=gcc | vars: { cc: gcc } | @@ -254,8 +252,6 @@ explicit, structured, and self-documenting nature. | Target Build | my_program: main.o utils.o\\t$(CC) $^ -o $@ | targets: - name: my_program rule: link sources: [main.o, utils.o] | | Readability | Relies on cryptic automatic variables ($@, $\<, $^) and implicit pattern matching. | Uses explicit, descriptive keys (name, rule, sources) and standard YAML list/map syntax. | - - ## Section 3: Parsing and Deserialization Strategy Once the Jinja evaluation stage has produced a pure YAML string, the next @@ -943,8 +939,6 @@ This table provides a specification for the desired output of Netsuke's error reporting system, contrasting raw, unhelpful messages with the friendly, actionable output that the implementation should produce. - - | Error Type | Poor Message (Default) | Netsuke's Friendly Message (Goal) | | ---------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | YAML Parse | (line 15, column 3): Found a tab character where indentation is expected | Error: Failed to parse 'Netsukefile'. Caused by: Found a tab character. Hint: Use spaces for indentation instead of tabs. | @@ -1125,10 +1119,7 @@ goal. ### 9.2 Key Technology Summary -This table serves as a quick-reference guide to the core third-party crates - - - +This table serves as a quick-reference guide to the core third-party crates selected for this project and the rationale for their inclusion. | Component | Recommended Crate | Rationale |