Skip to content

Commit d370316

Browse files
roryc89claude
andcommitted
Fix known_node_failures: 4500, VTAsClassHeads, Rank2TypeSynonym, Deriving*, 3957, and partial TCOMutRec
Major changes: - Fix VTA constraint deferral for non-class-method functions (infer.rs) - Add Reflectable compiler-magic type resolution in Pass 2.8 (check.rs) - Add method_own_constraint_details to ModuleExports for cross-module import - Implement return-type dict param tracking (used_return_type_dicts) in codegen - Add mutual recursion inlining for TCO (inline where-bound functions to enable self-recursion detection), with Direction 1 (inline callee into caller) and Direction 2 (inline caller into callee via variable substitution) - Apply TCO to nested where-bound functions that are already self-recursive - Remove 3957, 4500, DerivingFoldable, DerivingFunctor, DerivingTraversable, Rank2TypeSynonym, VTAsClassHeads from known_node_failures Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 98232f4 commit d370316

6 files changed

Lines changed: 1799 additions & 59 deletions

File tree

src/build/portable.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,7 @@ impl PModuleExports {
442442
method_own_constraints: self.method_own_constraints.iter().map(|(k, v)| {
443443
(rest_qi(k, st), v.iter().map(|s| st.sym(*s)).collect())
444444
}).collect(),
445+
method_own_constraint_details: std::collections::HashMap::new(), // not persisted in portable format yet
445446
module_doc: Vec::new(), // not persisted in portable format
446447
instance_registry: self.instance_registry.iter().map(|((class, head), inst)| {
447448
((st.sym(*class), st.sym(*head)), st.sym(*inst))

0 commit comments

Comments
 (0)