Skip to content

10.x: RangeSetContains.Equivalent hands any other one-argument Contains to the value overload (port of #320) #326

Closed

Description

@CaffeinatedCoder

Problem

The same latent fallback as #320, in the copy of RangeSetContains.Equivalent that 10.1.0 ships for #288. Any one-argument Contains on RangeSet that is not the set type or IRange<> is sent to the value overload, so an overload added later would throw ArgumentException from the interceptor at query compile, without naming the missing arm.

Change

Cherry-pick the #320 fix with -x, together with its reflection test over every Contains overload.

Release

Internal, and no answer changes.

Activity

  1. added
    choreBuild, CI, packaging, refactoring with no behaviour change
    area/range-setRangeSet and multirange algebra
    package/efcoreAffects CodoMetis.ValueRanges.EFCore.PostgreSQL
    on Oct 19, 2026
  2. added this to the 10.3.0 milestone on Oct 25, 2026
  3. CaffeinatedCoder commented on Oct 25, 2026

    @CaffeinatedCoder
    OwnerAuthor

    Scheduled for 10.3.0 (#408), 2026-10-25. The cherry-pick follows #320 once that is on main (linked as blocked by #320). Re-checked 2026-10-25: Equivalent on release/10.x still sends any other one-argument Contains to ValueMethod (RangeSetContains.cs:55-69).

  4. CaffeinatedCoder commented on Oct 25, 2026

    @CaffeinatedCoder
    OwnerAuthor

    The #320 fix throws MissingArm, which #295 added on main. On release/10.x that arrives with #433, the port of #295, so this cherry-pick follows it (now linked as blocked by #433).

  5. CaffeinatedCoder commented on Oct 25, 2026

    @CaffeinatedCoder
    OwnerAuthor

    PR #436, stacked on #435 (the port of #295).

  6. added 2 commits that reference this issue on Oct 25, 2026
  7. CaffeinatedCoder commented on Oct 25, 2026

    @CaffeinatedCoder
    OwnerAuthor

    Fixed on release/10.x by PR #436 (merged as 2dfa587). RangeSetContains.Equivalent matches each Contains overload by its operand type on this line too, and refuses any other with MissingArm. Closed by hand, because Closes #n acts only on main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/range-setRangeSet and multirange algebrachoreBuild, CI, packaging, refactoring with no behaviour changepackage/efcoreAffects CodoMetis.ValueRanges.EFCore.PostgreSQL

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions