Documentation Cleanup - #47
Open
Overcomplicated12 wants to merge 3 commits into
Open
Conversation
shuaimu
pushed a commit
that referenced
this pull request
Aug 13, 2026
…sions
Three name-resolution classes, all "the emitted spelling loses its Rust
qualification and rebinds to a shadowing entity", all serde_json-blocking:
1. crate-rooted bare callee. `crate::from_str(s)` inside `impl FromStr
for Value` emitted bare `from_str<Value>(..)`; in the member's class
scope that binds the member Value::from_str itself ("does not refer to
a template"). New requalify_crate_rooted_bare_callee re-roots single-
segment crate:: callees as `::{crate}::fn`, threaded through both
from_str emit sites so the expected-type turbofish stays attached.
2. Deserializer owner-template recovery. `impl FromStr for Number` lives
in de.rs but the impl-grouping pass emits it into namespace number,
where a using-declaration for serde_core's Deserializer TRAIT wins
over `using namespace de;` — `Deserializer<StrRead>::from_str` bound
the wrong entity. The from_str/from_slice owner special case now
anchors the recovered owner absolutely through its declaring module
(::de::Deserializer; the crate-namespace wrap pass adds the crate
prefix), matching the established local_type_module_path recipe.
3. Data-enum FACTORY form. `Enum::Variant(args)` with no expected enum
type emitted the bare alternative aggregate, which TYPES as the
alternative: `.map(|&b| Value::Number(b.into())).collect()`
materialized vector<Value_Number>, which never converts to the
Vec<Value> the Value_Array payload needs. Non-generic wrapper-form
enums now construct through their static factory (the same route the
generic-recovery path already uses). Owner spelling: strip the
`_{Variant}` suffix from the aggregate's qualified name when it
carries `::` — that spelling already resolved the RIGHT referent
(serde's ContentSerializer aggregates serde_core_private::Content_
Bytes, the dependency's enum, not serde's same-named ser Content) —
and anchor bare spellings via `::{module}::{Enum}` (serde_core's UFCS
free fns see Unexpected_Bool but not Unexpected). When the expected
type IS the enum the aggregate stays, since the caller's wrap
machinery adds `Enum{...}`.
Task #209: rtproof oracle 4 errors -> 1 (serde_core and serde now
precompile clean; 16207 had been blocking Deserializer<StrRead>
instantiation and masking two more). Remaining: next_entry<K,V>
backward turbofish (task #47 class).
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01DL64P7omurVAoYkTB3ZrbU
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.
No description provided.