|
34 | 34 | % - Change grammar to enable non-function type aliases. Correct rule for
|
35 | 35 | % invoking `F.staticMethod()` where `F` is a type alias.
|
36 | 36 | % - Add missing error for cyclic redirecting generative constructor.
|
| 37 | +% - Clarify rules about error on mixin application involving private |
| 38 | +% members in different library. |
37 | 39 | %
|
38 | 40 | % 2.8 - 2.10
|
39 | 41 | % - Change several warnings to compile-time errors, matching the actual
|
@@ -5507,17 +5509,20 @@ \subsection{Mixin Application}
|
5507 | 5509 | \LMHash{}%
|
5508 | 5510 | Let \DefineSymbol{L_C} be the library containing the mixin application.
|
5509 | 5511 | \commentary{%
|
5510 |
| -That is, the library containing the clause \code{$S$ \WITH{} $M$} |
5511 |
| -or the clause \code{$S_0$ \WITH{} $M_1$, \ldots,\ $M_k$, $M$} giving rise |
5512 |
| -to the mixin application.% |
| 5512 | +That is, the library containing the clause |
| 5513 | +\code{$S_0$ \WITH{} \List{M}{1}{k}} where |
| 5514 | +$M$ is $M_j$ and |
| 5515 | +$S$ is \code{$S_0$ \WITH{} \List{M}{1}{j - 1}}, |
| 5516 | +for some $j \in 1 .. k$ |
| 5517 | +(so for $j = 1$ we have \code{$S$ \WITH{} $M$, \ldots}).% |
5513 | 5518 | }
|
5514 | 5519 | Let \DefineSymbol{L_M} be the library containing the declaration of $M$.
|
5515 | 5520 |
|
5516 | 5521 | \LMHash{}%
|
5517 | 5522 | Assume that $S$ has a concrete member $m_S$ which is accessible to $L_M$,
|
5518 | 5523 | that $m_S$ has the name $n$ which is private
|
5519 | 5524 | (\commentary{so $m_S$ is declared in $L_M$}),
|
5520 |
| -and that $M$ declares a concrete member $m_M$ which is also named $n$ |
| 5525 | +and that $M$ declares a member $m_M$ which is also named $n$ |
5521 | 5526 | \commentary{(note that $m_M$ is also declared in $L_M$)}.
|
5522 | 5527 | In this case a compile-time error occurs.
|
5523 | 5528 |
|
|
0 commit comments