Mercurial > projects > ldc
annotate test/globals2.d @ 85:f869c636a113 trunk
[svn r89] Fixed a bunch of problems with template instance across multiple modules.
Fixed initialization of function local static variables, with a non const initializer (now happens on first call using a global to make sure it only happens once.)
author | lindquist |
---|---|
date | Fri, 02 Nov 2007 06:32:32 +0100 |
parents | a6360e68134a |
children |
rev | line source |
---|---|
22
a6360e68134a
[svn r26] * Fixed templates defining a constant value
lindquist
parents:
diff
changeset
|
1 module globals2; |
a6360e68134a
[svn r26] * Fixed templates defining a constant value
lindquist
parents:
diff
changeset
|
2 |
a6360e68134a
[svn r26] * Fixed templates defining a constant value
lindquist
parents:
diff
changeset
|
3 template Bool(bool b) |
a6360e68134a
[svn r26] * Fixed templates defining a constant value
lindquist
parents:
diff
changeset
|
4 { |
a6360e68134a
[svn r26] * Fixed templates defining a constant value
lindquist
parents:
diff
changeset
|
5 const bool Bool = b; |
a6360e68134a
[svn r26] * Fixed templates defining a constant value
lindquist
parents:
diff
changeset
|
6 } |
a6360e68134a
[svn r26] * Fixed templates defining a constant value
lindquist
parents:
diff
changeset
|
7 |
a6360e68134a
[svn r26] * Fixed templates defining a constant value
lindquist
parents:
diff
changeset
|
8 void main() |
a6360e68134a
[svn r26] * Fixed templates defining a constant value
lindquist
parents:
diff
changeset
|
9 { |
a6360e68134a
[svn r26] * Fixed templates defining a constant value
lindquist
parents:
diff
changeset
|
10 assert(Bool!(true)); |
a6360e68134a
[svn r26] * Fixed templates defining a constant value
lindquist
parents:
diff
changeset
|
11 assert(!Bool!(false)); |
a6360e68134a
[svn r26] * Fixed templates defining a constant value
lindquist
parents:
diff
changeset
|
12 } |