Skip to content

Commit 9d09f69

Browse files
authored
Merge pull request #9854 from dotty-staging/fix-9766
fix #9766: extensions cannot be extension_foo
2 parents 03a02de + 8590b1a commit 9d09f69

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

compiler/src/dotty/tools/dotc/ast/Desugar.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -945,7 +945,7 @@ object desugar {
945945
report.error(IllegalRedefinitionOfStandardKind(kind, name), errPos)
946946
name = name.errorName
947947
}
948-
if name.isExtensionName && !mdef.mods.is(ExtensionMethod) then
948+
if name.isExtensionName && (!mdef.mods.is(ExtensionMethod) || name.dropExtension.isExtensionName) then
949949
report.error(em"illegal method name: $name may not start with `extension_`", errPos)
950950
name
951951
}

tests/neg/illegal-extension.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
trait A {
22
def extension_n: String = "illegal method" // error: illegal method name: extension_n may not start with `extension_`
33
}
4+
5+
extension (x: Any) def extension_foo: String = "foo" // error: illegal method name: extension_foo may not start with `extension_`

0 commit comments

Comments
 (0)