From 18e3e86ce769b6823988769953914bac28f9589a Mon Sep 17 00:00:00 2001 From: dotty-bot Date: Tue, 4 Apr 2017 19:30:26 +0000 Subject: Update gh-pages site for 34afd70f55b2d6245b4840ea42fb4ca1845ee649 --- api/dotty/tools/dotc/typer/Checking$.html | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/api/dotty/tools/dotc/typer/Checking$.html b/api/dotty/tools/dotc/typer/Checking$.html index f5fb63bdd..4df27d809 100644 --- a/api/dotty/tools/dotc/typer/Checking$.html +++ b/api/dotty/tools/dotc/typer/Checking$.html @@ -6011,16 +6011,29 @@ and that the instance conforms to the self type of the created class.

Check the type signature of the symbol M defined by tree does not refer to a private type or value which is invisible at a point where M is still -visibl... +visibl...

+

+

+

Check the type signature of the symbol M defined by tree does not refer to a private type or value which is invisible at a point where M is still -visible. As an exception, we allow references to type aliases if the underlying -type of the alias is not a leak. So type aliases are transparent as far as -leak testing is concerned.

+visible.

+

As an exception, we allow references to type aliases if the underlying +type of the alias is not a leak, and if sym is not a type. The rationale +for this is that the inferred type of a term symbol might contain leaky +aliases which should be removed (see leak-inferred.scala for an example), +but a type symbol definition will not contain leaky aliases unless the +user wrote them, so we can ask the user to change his definition. The more +practical reason for not transforming types is that checkNoPrivateLeaks +can force a lot of denotations, and this restriction means that we never +need to run TypeAssigner#avoidPrivateLeaks on type symbols when +unpickling, which avoids some issues related to forcing order.

+

See i997.scala for negative tests, and i1130.scala for a case where it +matters that we transform leaky aliases away.

-- cgit v1.2.3