On Monday, March 16, 2015 22:27:36 Ali Çehreli via Digitalmars-d wrote:
> The following program compiles fine:
>
> interface I
> {}
>
> class B : I
> {}
>
> class C : B
> {
> int i;
> }
>
> void main()
> {
> auto c = new C;
>
> auto i = cast(I)c;// compiles
> auto b = cast(B
On Tuesday, 17 March 2015 at 05:27:38 UTC, Ali Çehreli wrote:
The following program compiles fine:
interface I
{}
class B : I
{}
class C : B
{
int i;
}
void main()
{
auto c = new C;
auto i = cast(I)c;// compiles
auto b = cast(B)c;// compiles
}
Let's add an unrelated
I forgot to mention that this discussion is carried over from the
D.learn newsgroup:
http://forum.dlang.org/thread/uwuvqurfqbetypdlw...@forum.dlang.org
Ali
The following program compiles fine:
interface I
{}
class B : I
{}
class C : B
{
int i;
}
void main()
{
auto c = new C;
auto i = cast(I)c;// compiles
auto b = cast(B)c;// compiles
}
Let's add an unrelated opCast to C:
class C : B
{
int i;
int opCast(T : int)