diff --git a/compiler/src/dotty/tools/dotc/ast/Desugar.scala b/compiler/src/dotty/tools/dotc/ast/Desugar.scala index 3c5292fc8840..fea57a20dce0 100644 --- a/compiler/src/dotty/tools/dotc/ast/Desugar.scala +++ b/compiler/src/dotty/tools/dotc/ast/Desugar.scala @@ -828,7 +828,7 @@ object desugar { val moduleName = tdef.name.toTermName val localRef = Select(Ident(moduleName), tdef.name) localRef.pushAttachment(SuppressAccessCheck, ()) - val aliasType = cpy.TypeDef(tdef)(rhs = completeForwarder(localRef)) + val aliasType = cpy.TypeDef(tdef)(rhs = completeForwarder(localRef)).withSpan(tdef.span.startPos) val localType = tdef.withMods(Modifiers(Synthetic | Opaque).withPrivateWithin(tdef.name)) val companions = moduleDef(ModuleDef( diff --git a/compiler/test/dotty/tools/repl/TabcompleteTests.scala b/compiler/test/dotty/tools/repl/TabcompleteTests.scala index 7db068879a79..be66b286f7b1 100644 --- a/compiler/test/dotty/tools/repl/TabcompleteTests.scala +++ b/compiler/test/dotty/tools/repl/TabcompleteTests.scala @@ -128,4 +128,8 @@ class TabcompleteTests extends ReplTest { @Test def moduleCompletion = fromInitialState { implicit s => assertEquals(List("Predef"), tabComplete("object Foo { type T = Pre")) } + + @Test def i6415 = fromInitialState { implicit s => + assertEquals(List("Predef"), tabComplete("opaque type T = Pre")) + } }