Skip to content

Change to implicit method invocation should define a migration rewrites #22792

Closed
@WojciechMazur

Description

@WojciechMazur

Based on OpenCB build failure in dacr/sotohp - build logs

The new behaviour seems to be correct, but it might lead to issues when upgrading to Scala 3.7. If possible we should provide an automatic migration under -source:3.7-migration -rewrite

Compiler version

3.7.0-RC1
Last good release: 3.7.0-RC1-bin-20250309-2f639e2-NIGHTLY
First bad release: 3.7.0-RC1-bin-20250312-3fe9304-NIGHTLY

Bisect points to c37dc8b

Minimized code

trait Permit
class Foo:
  def run(implicit ev: Permit): Unit = ???
  
given Permit = ???
@main def Test = new Foo().run()

Output

[error] ./test.scala:6:18
[error] missing argument for parameter ev of method run in class Foo: (implicit ev: Permit): Unit
[error] @main def Test = new Foo().run()
[error]                  ^^^^^^^^^^^

Expectation

Rewrite callsite to new Foo().run

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions