D issues are now
tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Created attachment 1064 [details]
Files required to reproduce
When compiling the attached code ( https://gist.github.com/7faf1013f81ea96bfb89
), the following error is given:
----
serenity/core/Model.d(2): Error: static assert "Article(1):
tuple((Article).id)"
example/models/HomeModel.d(10): instantiated from here:
SqlitePersister!(Article)
----
Note that the code requires the following directory/file layout:
serenity
` core
` Model.d
` Controller.d
example
` controllers
` HomeController.d
` models
` HomeModel.d
And should be compiled with:
dmd -c example/controllers/HomeController.d example/models/HomeModel.d
Comment 1
Kenji Hara
2012年01月01日 06:37:02 UTC
This is a forward reference bug.
Workaround in core/Model.d:
class SqlitePersister(T) {
+ static assert(T.sizeof); // force running semantic of T
+ // to resolve sizeof property
static assert(T.tupleof.length > 0, T.stringof ~ `(` ~ (T.tupleof.length
+ '0') ~ `): ` ~ T.tupleof.stringof);
}