olabusayoT opened a new pull request, #1716:
URL: https://github.com/apache/daffodil/pull/1716

   For a maxOccurs-bounded occursCountKind="implicit" array whose element type 
is complex with no possible zero-length representation (e.g. every branch of a 
choice requires a distinct non-empty initiator), the speculative attempt at an 
occurrence beyond the real data would parse its preceding separator 
successfully, then fail the content entirely with zero bits consumed. 
anyTypeElementFailedParseAttemptStatus classified this as AbsentRep, whose 
contract is to retain the bit position (keep the separator consumed); that is 
correct for a genuinely empty representation, but wrong here since there is no 
occurrence at all. This let the separator leak into whatever sequence child 
comes next, causing spurious "separator not found" / "terminator not found" 
errors.
   
   Gate the AbsentRep classification on isEmptyRepZeroLength for complex types, 
so a structurally-impossible zero-length failure returns MissingItem instead, 
which forces the caller to fully backtrack the point of uncertainty including 
the separator.
   
   DAFFODIL-3094


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to