www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Algebraic template instance holder

reply Voitech <woipoi gmail.com> writes:
Hi, why this is not working ?


class Base{
	int a;
}

class BaseTemplate(E):Base{
	E value;
	this(E value){
		this.value=value;
	}
}

class Concrete:BaseTemplate!int{
	this(int value){
		super(value);
	}
}
unittest{
	Algebraic!(Concrete) holder;
	Concrete a=new Concrete(4);
	holder =Algebraic!Concrete(a);
}
Feb 10 2016
parent reply ZombineDev <valid_email he.re> writes:
On Wednesday, 10 February 2016 at 10:31:34 UTC, Voitech wrote:
 Hi, why this is not working ?


 class Base{
 	int a;
 }

 class BaseTemplate(E):Base{
 	E value;
 	this(E value){
 		this.value=value;
 	}
 }

 class Concrete:BaseTemplate!int{
 	this(int value){
 		super(value);
 	}
 }
 unittest{
 	Algebraic!(Concrete) holder;
 	Concrete a=new Concrete(4);
 	holder =Algebraic!Concrete(a);
 }
This is a bug. I filled it as: https://issues.dlang.org/show_bug.cgi?id=15670 I will see if I can fix it tomorrow.
Feb 10 2016
parent Voitech <woipoi gmail.com> writes:
On Wednesday, 10 February 2016 at 20:53:15 UTC, ZombineDev wrote:
 On Wednesday, 10 February 2016 at 10:31:34 UTC, Voitech wrote:
 Hi, why this is not working ?


 class Base{
 	int a;
 }

 class BaseTemplate(E):Base{
 	E value;
 	this(E value){
 		this.value=value;
 	}
 }

 class Concrete:BaseTemplate!int{
 	this(int value){
 		super(value);
 	}
 }
 unittest{
 	Algebraic!(Concrete) holder;
 	Concrete a=new Concrete(4);
 	holder =Algebraic!Concrete(a);
 }
This is a bug. I filled it as: https://issues.dlang.org/show_bug.cgi?id=15670 I will see if I can fix it tomorrow.
Hi ZombineDev have you by chance looked at this bug ?
Feb 12 2016