April 21, 2011 Static class members/methods and scope | ||||
|---|---|---|---|---|
| ||||
I'm certain this used to work:
class Foo
{
public static
{
void bar() {}
}
}
But I've found that now, anything inside the public static block is not actually static. I get an error attempting to call Foo.bar(). If I do this:
class Foo
{
public
{
static void bar() {}
}
}
...it works as expected. I tested with the override attribute, in case the handling of attributes had changed while I was away, but it works fine using the first form. I assume this is a bug, or a regression. Am I correct?
| ||||
April 21, 2011 Re: Static class members/methods and scope | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Mike Parker | On Thu, 21 Apr 2011 04:54:49 -0400, Mike Parker <aldacron@gmail.com> wrote:
> I'm certain this used to work:
>
> class Foo
> {
> public static
> {
> void bar() {}
> }
> }
>
> But I've found that now, anything inside the public static block is not actually static. I get an error attempting to call Foo.bar(). If I do this:
>
> class Foo
> {
> public
> {
> static void bar() {}
> }
> }
>
> ...it works as expected. I tested with the override attribute, in case the handling of attributes had changed while I was away, but it works fine using the first form. I assume this is a bug, or a regression. Am I correct?
I would have expected the first form to work. You can file as a bug and see what happens. Worst case it gets closed as invalid :)
-Steve
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply