Implement Phase 9: client libraries (Go, Rust, Lisp, Python)

- clients/README.md: canonical API surface and error type reference
- clients/testdata/: shared JSON response fixtures
- clients/go/: mciasgoclient package; net/http + TLS 1.2+; sync.RWMutex
  token state; DisallowUnknownFields on all decoders; 25 tests pass
- clients/rust/: async mcias-client crate; reqwest+rustls (no OpenSSL);
  thiserror MciasError enum; Arc<RwLock> token state; 22+1 tests pass;
  cargo clippy -D warnings clean
- clients/lisp/: ASDF mcias-client; dexador HTTP, yason JSON; mcias-error
  condition hierarchy; Hunchentoot mock-dispatcher; 37 fiveam checks pass
  on SBCL 2.6.1; yason boolean normalisation in validate-token
- clients/python/: mcias_client package (Python 3.11+); httpx sync;
  py.typed; dataclasses; 32 pytest tests; mypy --strict + ruff clean
- test/mock/mockserver.go: in-memory mock server for Go client tests
- ARCHITECTURE.md §19: updated per-language notes to match implementation
- PROGRESS.md: Phase 9 marked complete
- .gitignore: exclude clients/rust/target/, python .venv, .pytest_cache,
  .fasl files
Security: token never logged or exposed in error messages in any library;
TLS enforced in all four languages; token stored under lock/mutex/RwLock
This commit is contained in:
2026-03-11 16:38:32 -07:00
parent f34e9a69a0
commit 0c441f5c4f
1974 changed files with 10151 additions and 33 deletions

View File

@@ -0,0 +1,59 @@
/Users/kyle/src/mcias/clients/rust/target/debug/deps/syn-3658efd163cd9814.d: /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lib.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/macros.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/group.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/token.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/attr.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/bigint.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/buffer.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/classify.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_keyword.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_punctuation.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/data.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/derive.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/drops.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/error.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/expr.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ext.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/file.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/fixup.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/generics.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ident.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/item.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lifetime.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lit.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lookahead.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/mac.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/meta.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/op.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/discouraged.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_macro_input.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_quote.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/pat.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/path.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/precedence.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/print.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/punctuated.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/restriction.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/sealed.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/span.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/spanned.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/stmt.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/thread.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/tt.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ty.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/verbatim.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/whitespace.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/export.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/fold.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/visit.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/clone.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/debug.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/eq.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/hash.rs
/Users/kyle/src/mcias/clients/rust/target/debug/deps/libsyn-3658efd163cd9814.rlib: /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lib.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/macros.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/group.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/token.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/attr.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/bigint.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/buffer.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/classify.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_keyword.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_punctuation.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/data.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/derive.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/drops.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/error.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/expr.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ext.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/file.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/fixup.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/generics.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ident.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/item.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lifetime.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lit.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lookahead.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/mac.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/meta.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/op.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/discouraged.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_macro_input.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_quote.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/pat.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/path.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/precedence.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/print.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/punctuated.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/restriction.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/sealed.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/span.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/spanned.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/stmt.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/thread.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/tt.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ty.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/verbatim.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/whitespace.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/export.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/fold.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/visit.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/clone.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/debug.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/eq.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/hash.rs
/Users/kyle/src/mcias/clients/rust/target/debug/deps/libsyn-3658efd163cd9814.rmeta: /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lib.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/macros.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/group.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/token.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/attr.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/bigint.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/buffer.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/classify.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_keyword.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_punctuation.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/data.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/derive.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/drops.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/error.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/expr.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ext.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/file.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/fixup.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/generics.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ident.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/item.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lifetime.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lit.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lookahead.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/mac.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/meta.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/op.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/discouraged.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_macro_input.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_quote.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/pat.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/path.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/precedence.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/print.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/punctuated.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/restriction.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/sealed.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/span.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/spanned.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/stmt.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/thread.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/tt.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ty.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/verbatim.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/whitespace.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/export.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/fold.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/visit.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/clone.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/debug.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/eq.rs /Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/hash.rs
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lib.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/macros.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/group.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/token.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/attr.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/bigint.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/buffer.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/classify.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_keyword.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_punctuation.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/data.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/derive.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/drops.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/error.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/expr.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ext.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/file.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/fixup.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/generics.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ident.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/item.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lifetime.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lit.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lookahead.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/mac.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/meta.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/op.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/discouraged.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_macro_input.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_quote.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/pat.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/path.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/precedence.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/print.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/punctuated.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/restriction.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/sealed.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/span.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/spanned.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/stmt.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/thread.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/tt.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ty.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/verbatim.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/whitespace.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/export.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/fold.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/visit.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/clone.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/debug.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/eq.rs:
/Users/kyle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/hash.rs: