[Issue 6475] New: template identifier is not a member of alias
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Aug 11 20:07:09 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6475
Summary: template identifier is not a member of alias
Product: D
Version: D2
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: ellery-newcomer at utulsa.edu
--- Comment #0 from Ellery Newcomer <ellery-newcomer at utulsa.edu> 2011-08-11 20:07:06 PDT ---
inside this issue is a forward reference error, so it might just be a dup of
some other issue, but here it is anyways. A workaround exists and is expressed
in the code.
dmd32 2.054
the code:
struct SignalOnChange(L...) {
static struct Inner(IndexedBy){
static auto r(){
Inner i;
return i;
}
}
}
enum UseWhatWorks = false;
struct ContainerArgs(X...){
static if(UseWhatWorks){
alias typeof(X[0].Inner!(int).r()) Signals;
}else{
alias X[0] Signals0;
alias Signals0.Inner!(int) Signals;
}
}
class MIC(RawValue, Args...){
alias ContainerArgs!(Args).Signals NormSignals;
}
void main(){
alias MIC!(int,
SignalOnChange!(int,int)) C;
}
the fireworks:
error11.d(26): Error: alias
error11.ContainerArgs!(SignalOnChange!(int,int)).ContainerArgs.Signals0
template identifier Inner is not a member of alias Signals0
error11.d(26): Error: alias
error11.ContainerArgs!(SignalOnChange!(int,int)).ContainerArgs.Signals0
template identifier Inner is not a member of alias Signals0
error11.d(27): Error: no property 'Inner!(int)' for type
'SignalOnChange!(int,int)'
error11.d(27): Error: alias
error11.ContainerArgs!(SignalOnChange!(int,int)).ContainerArgs.Signals cannot
alias an expression __error
error11.d(32): Error: template instance
error11.ContainerArgs!(SignalOnChange!(int,int)) error instantiating
error11.d(36): instantiated from here:
MIC!(int,SignalOnChange!(int,int))
error11.d(32): Error: forward reference to 'Signals0.Inner!(int)'
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list