Skip to content

Issues with given prioritization change #22913

Open
@tgodzik

Description

@tgodzik

With 3.7.0 the new given prioritization comes into effect, which might cause libraries like chimney or cats-effect to not work properly even if compiled with an earlier version.

So in essence:

  1. Library gets compiled and tests with 3.3.5 LTS . It heavily uses the old priority of givens
  2. Someone uses that library in 3.7.0 and the code doesn't work since the compiler behaviour changed.

Do we have a way to fix it for users? We could potentially use the source flag in the user code to revert to older priority, but that makes them unable to use any new features and stuck with 3.6.0.

We could also add a separate flag for that case, but that make everyone need to use that flag until cats reimplement the given resolution, which I am not even sure is doable.

Another, bad idea, is to cross compile pre and after 3.7.0, but that is not something we wanted to ever do.

Do we have any sensible solution to that problem? Cats-effect is one of the wider used libraries, so it would be great to be able to fix the issue even before the new priority comes into effect.

Since I don't know much about details it would be great to hear from someone who knows more details

CC
@armanbilge @lbialy @WojciechMazur

I think Wojciech and Łukasz were doing some tests, but not sure if they managed to find a conclusion.

I have limited knowledge here, so it's possible it's not an issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:implicitsrelated to implicitsitype:bugregressionThis worked in a previous version but doesn't anymorestat:needs decisionSome aspects of this issue need a decision from the maintainance team.stat:needs investigationHard to to tell much without investigating this further. Needs a spike.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions