loud-lizard-27679
08/14/2023, 9:56 PMloud-lizard-27679
08/14/2023, 10:06 PMloud-lizard-27679
08/14/2023, 10:23 PMgiven, extension and implicit declarations are allowed only in files named package.scala. If such declarations are found elsewhere, we throw an error and say that dependency inference doesn't support that.
To make migration of existing codebases easier, we add an option, like allow_package_level_implicits that allows such declarations but adds all these dependencies between files in the same package. It would be switched off by default, and when such a problematic declaration is found, we print an error telling the user that they can either switch that option on (and get crappy dependency inference) or change their code.loud-lizard-27679
08/14/2023, 10:24 PM**/package.scalacareful-address-89803
08/15/2023, 1:37 AMloud-lizard-27679
08/15/2023, 8:02 AMscala_sources is excessive as they don't necessarily live in the same package. I think the "sibling" bit is actually misleading here. And it says that this option can be helpful when compilation fails due to missing dependencies, however this bug can also lead to cases where compilation succeeds even though it ought to fail.loud-lizard-27679
08/15/2023, 8:04 AMloud-lizard-27679
08/15/2023, 9:12 AMgiven, extension and implicit at the package level, people might not even realize they have a problem.careful-address-89803
08/15/2023, 2:56 PMloud-lizard-27679
08/15/2023, 2:57 PMloud-lizard-27679
08/15/2023, 2:58 PMpackage foo; package bar; rather than package foo.bar.loud-lizard-27679
08/15/2023, 3:00 PMloud-lizard-27679
08/15/2023, 3:00 PMloud-lizard-27679
08/15/2023, 3:01 PMcareful-address-89803
08/15/2023, 3:04 PMloud-lizard-27679
08/15/2023, 3:06 PMloud-lizard-27679
08/17/2023, 10:38 AMloud-lizard-27679
08/17/2023, 10:51 AMhappy-kitchen-89482
08/17/2023, 3:05 PMloud-lizard-27679
08/17/2023, 5:04 PMhappy-kitchen-89482
08/17/2023, 8:18 PMfast-nail-55400
08/17/2023, 8:55 PMfast-nail-55400
08/17/2023, 8:55 PMloud-lizard-27679
08/18/2023, 10:15 AM