On 17 December 2015 at 03:14, Andrei Alexandrescu via Digitalmars-d <[email protected]> wrote: > So, I wrote this beautiful BigO framework: <400 lines all told, clear code, > real nice. Then I got this cold shower: > > void insertFrontMany(C, R)(C container, R range) > @BigO(complexity!(C.insertFront) * linearTime) > { > ... > } > > My hope being of course that for containers with linear insertion time at > the front I'll get quadratic, etc. The hitch is: > > test.d(377): Error: undefined identifier 'C.insertFront' > > So... attributes are currently not allowed to depend on template parameters, > which is a serious damper on enthusiasm.
Remember that time I complained about this more than 2 and a half years ago? https://issues.dlang.org/show_bug.cgi?id=10193 > Seems to me this is a bug - different instantiations should have different > attributes etc. Is there any matter of principle making this not work? Seems like a bug to me too, since you can express it with a fully expanded template, just not with the template syntax you actually use.
