diff --git a/compiler/src/dotty/tools/dotc/config/Feature.scala b/compiler/src/dotty/tools/dotc/config/Feature.scala index 6d905f500c54..8d8fba8ff288 100644 --- a/compiler/src/dotty/tools/dotc/config/Feature.scala +++ b/compiler/src/dotty/tools/dotc/config/Feature.scala @@ -31,8 +31,6 @@ object Feature: val pureFunctions = experimental("pureFunctions") val captureChecking = experimental("captureChecking") - val globalOnlyImports: Set[TermName] = Set(pureFunctions, captureChecking) - /** Is `feature` enabled by by a command-line setting? The enabling setting is * * -language:feature diff --git a/compiler/src/dotty/tools/dotc/core/Contexts.scala b/compiler/src/dotty/tools/dotc/core/Contexts.scala index d2a88a422b2e..b30e0e71e8d2 100644 --- a/compiler/src/dotty/tools/dotc/core/Contexts.scala +++ b/compiler/src/dotty/tools/dotc/core/Contexts.scala @@ -16,6 +16,8 @@ import ast.untpd import util.{NoSource, SimpleIdentityMap, SourceFile, HashSet, ReusableInstance} import typer.{Implicits, ImportInfo, SearchHistory, SearchRoot, TypeAssigner, Typer, Nullables} import inlines.Inliner +import ast.{tpd, untpd} +import config.Feature import Nullables._ import Implicits.ContextualImplicits import config.Settings._ @@ -648,6 +650,14 @@ object Contexts { case Some(false) if ctx.settings.YexplicitNulls.value => setMode(this.mode | Mode.SafeNulls) case _ => + + importInfo.qualifier match + case ref: untpd.RefTree => + val prefix = ref.name.asTermName + for case untpd.ImportSelector(untpd.Ident(imported), untpd.EmptyTree, _) <- importInfo.selectors do + Feature.handleGlobalLanguageImport(prefix, imported) + case _ => () + updateStore(importInfoLoc, importInfo) def setTypeAssigner(typeAssigner: TypeAssigner): this.type = updateStore(typeAssignerLoc, typeAssigner) diff --git a/compiler/src/dotty/tools/dotc/parsing/Parsers.scala b/compiler/src/dotty/tools/dotc/parsing/Parsers.scala index 653f61447492..add34b9aa2f7 100644 --- a/compiler/src/dotty/tools/dotc/parsing/Parsers.scala +++ b/compiler/src/dotty/tools/dotc/parsing/Parsers.scala @@ -30,7 +30,7 @@ import scala.annotation.tailrec import rewrites.Rewrites.{patch, overlapsPatch} import reporting._ import config.Feature -import config.Feature.{sourceVersion, migrateTo3, globalOnlyImports} +import config.Feature.{sourceVersion, migrateTo3} import config.SourceVersion._ import config.SourceVersion