www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - final forbidden with value template parameters?

reply Nicolas Sicard <dransic free.fr> writes:
Hi

module main;
class Foo(string s) {}
final class Bar(string s) {} // Error

The compiler says:
variable main.s final cannot be applied to variable

Why is this forbidden?

Nicolas
(DMD 2.022 - Linux)
Jan 03 2009
next sibling parent "Jarrett Billingsley" <jarrett.billingsley gmail.com> writes:
On Sat, Jan 3, 2009 at 1:26 PM, Nicolas Sicard <dransic free.fr> wrote:
 Hi

 module main;
 class Foo(string s) {}
 final class Bar(string s) {} // Error

 The compiler says:
 variable main.s final cannot be applied to variable

 Why is this forbidden?

 Nicolas
 (DMD 2.022 - Linux)

It might be related to this: http://d.puremagic.com/issues/show_bug.cgi?id=1481 But without a full example - where you're instantiating the template - I can't say for sure.
Jan 03 2009
prev sibling parent "Denis Koroskin" <2korden gmail.com> writes:
On Sat, 03 Jan 2009 21:39:35 +0300, Jarrett Billingsley
<jarrett.billingsley gmail.com> wrote:

 On Sat, Jan 3, 2009 at 1:26 PM, Nicolas Sicard <dransic free.fr> wrote:
 Hi

 module main;
 class Foo(string s) {}
 final class Bar(string s) {} // Error

 The compiler says:
 variable main.s final cannot be applied to variable

 Why is this forbidden?

 Nicolas
 (DMD 2.022 - Linux)

It might be related to this: http://d.puremagic.com/issues/show_bug.cgi?id=1481 But without a full example - where you're instantiating the template - I can't say for sure.

That's full example. No need to instantiate this template to get an error. It is a bug and I was hit by this multiple times already :(
Jan 03 2009