Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Port summonIgnoring from 3.7 as c.inferImplicitValueIgnoring#11068

Merged
lrytz merged 1 commit into
scala:2.13.xfrom
MateuszKubuszok:port-summonIgnoring-from-3.7.0
Jun 16, 2025
Merged

Port summonIgnoring from 3.7 as c.inferImplicitValueIgnoring#11068
lrytz merged 1 commit into
scala:2.13.xfrom
MateuszKubuszok:port-summonIgnoring-from-3.7.0

Conversation

@MateuszKubuszok
Copy link
Copy Markdown
Contributor

This PR backports Expr.summonIgnoring that was introduced in 3.7.0.

On 3.7.0 it allowed:

  • faster recursive derivation of type classes with more performant code (vide presentation)
  • without fragile type-level tricks that got broken by change to 3.7.0 givens

However, it increased the maintenance burden on such libraries since they need to implement 2 different hierarchies to keep the behavior consistent. It might also burden users who would like to use such libraries and cross-compile their codebases.

By adding just 1 public macro method - and keeping the behavior and signatures of all the other methods unchanged - libraries that use such solutions to improve the QoL of their users could have once again align how the code looks and behaves, preventing unnecessary friction during the 2->3 migration process.

@scala-jenkins scala-jenkins added this to the 2.13.17 milestone May 28, 2025
@som-snytt
Copy link
Copy Markdown
Contributor

We ought to encourage more tickets and PRs with links to youtube or tiktok!

My favorite bit so far is the correct pronunciation of Circe.

@kubukoz
Copy link
Copy Markdown

kubukoz commented May 28, 2025

correct??

(pronounced SUR-see, or KEER-kee in classical Greek, or CHEER-chay in Ecclesiastical Latin)

first come first serve!

@som-snytt
Copy link
Copy Markdown
Contributor

som-snytt commented May 28, 2025

I tried to get that pedantic line adjusted years ago but wasn't successful. I think pedantry calls for correctness. That could be called "a pedant's mismatch". (I mean the Attic pronunciation.)

Copy link
Copy Markdown
Member

@lrytz lrytz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks @MateuszKubuszok and sorry for the delay!

@lrytz lrytz merged commit 668e18e into scala:2.13.x Jun 16, 2025
3 checks passed
@MateuszKubuszok MateuszKubuszok deleted the port-summonIgnoring-from-3.7.0 branch June 16, 2025 12:10
@MateuszKubuszok
Copy link
Copy Markdown
Contributor Author

Thanks!

@SethTisue SethTisue added the release-notes worth highlighting in next release notes label Jul 15, 2025
@lrytz lrytz changed the title Port summonIgnoring from 3.7 as c.inferImplicitValueIgnoring Port summonIgnoring from 3.7 as c.inferImplicitValueIgnoring Sep 22, 2025
@SethTisue
Copy link
Copy Markdown
Member

@lrytz did you omit this from the 2.13.18 release notes on purpose?

@lrytz
Copy link
Copy Markdown
Member

lrytz commented Nov 12, 2025

This was already merged for 2.13.17 and is listed in those release notes (https://github.com/scala/scala/releases/tag/v2.13.17)

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

Labels

release-notes worth highlighting in next release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants