[Issue 12576] New: problem with compile time struct field
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Apr 13 14:47:06 PDT 2014
https://issues.dlang.org/show_bug.cgi?id=12576
Issue ID: 12576
Summary: problem with compile time struct field
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: enhancement
Priority: P1
Component: DMD
Assignee: nobody at puremagic.com
Reporter: ellery-newcomer at utulsa.edu
the code:
template Replace(string base, T...)
{
template NextAt(string base, string longest_spec,
size_t _at0, T...)
{
}
NextAt!(base,"",-1,T) N;
}
struct _CppFunction {
string funcname;
}
string CppClass1(string name, Clazz)()
{
enum _CppFunction cf = {
};
enum mix = Replace!("
ReturnType Func(Params) {
return Mangled(args);
}\n",
"Func", cf.funcname);
return mix;
}
enum Mixins = CppClass1!("X", typeof(new class { }));
the fireworks:
$ dmd error1
error1.d(9): Error: template instance NextAt!("\x0a ReturnType
Func(Params) {\x0a return Mangled(args);\x0a }\x0a", "", -1,
"Func", funcname) cannot use local 'funcname' as parameter to non-global
template NextAt(string base, string longest_spec, ulong _at0, T...)
error1.d(20): Error: template instance error1._CppFunction.Replace!("\x0a
ReturnType Func(Params) {\x0a return Mangled(args);\x0a
}\x0a", "Func", funcname) error instantiating
error1.d(28): instantiated from here: CppClass1!("X", __anonclass1)
--
More information about the Digitalmars-d-bugs
mailing list