Repository navigation
Convert custom sources to dictionaries through lower - #106
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #106 +/- ##
==========================================
+ Coverage 76.57% 78.38% +1.81%
==========================================
Files 2 2
Lines 414 421 +7
==========================================
+ Hits 317 330 +13
+ Misses 97 91 -6 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
quinnj
force-pushed
the
maintenance/custom-struct-dictionaries
branch
from
October 14, 2026 00:28
d8c8834 to
2b89ea5
Compare
Member
Author
|
Pushed 2b89ea5: the same missing |
Dictionary conversion has no source dispatcher for CustomStruct, so even a valid lower implementation raises MethodError. Lower the object and resume the existing dictionary conversion, preserving target key/value types and ordinary source handling. Document the source contract and add 22 checks. Full four-thread/bounds suites and a 12-check public reproduction pass on Julia 1.6.7 and 1.13.1. The strict Documenter 1.19 build also passes. AI disclosure: This work was prepared with assistance from OpenAI Codex.
…ests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
quinnj
force-pushed
the
maintenance/custom-struct-dictionaries
branch
from
October 14, 2026 00:56
2b89ea5 to
497e27c
Compare
Merged
quinnj
referenced
this pull request
Oct 15, 2026
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Converting a valid
CustomStructsource withStructTypes.constructfrom(Dict{String, Any}, value)raisesMethodErrorbecause dictionary conversion has no dispatcher for that source trait. Call the requiredlower(value)method, then resume the existing dictionary conversion. This preserves target key/value conversion and supports a custom lowering that exposes type-parameter metadata. Fixes #69.Add 22 checks covering the reported parametric case, dictionary and named-tuple lowerings, typed keys/values, nested wrappers, empty sources, delegated errors, and unchanged
Anyidentity. Full four-thread/bounds suites and a separate 12-check public probe pass on Julia 1.6.7 and 1.13.1; unchanged main has one control pass and 11MethodErrors in that probe. The strict Documenter 1.19 build passes on Julia 1.13.1. All seven exact-head GitHub checks pass atd8c883407a0bb797b31f682d2d4a76873b1b33eb; all four coverage uploads were accepted for JuliaData/StructTypes.jl at that revision and processed (77.63%).This is based on #105, which restores the shared Julia UUID test expectation and CI/docs checks. It remains dependent on that PR and the normal independent-review gate for main.
Co-authored by Codex
AI disclosure: This work was prepared with assistance from OpenAI Codex.