Bug 276 – Compiler erroneously thinks an aggregate inner template will add a field to it

Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
x86
OS
Windows
Creation time
2006-08-02T17:22:47Z
Last change time
2021-05-28T01:34:22Z
Keywords
rejects-valid
Assigned to
Walter Bright
Creator
Bruno Medeiros

Comments

Comment #0 by bruno.do.medeiros+deebugz — 2006-08-02T17:22:47Z
Compiler erroneously thinks an aggregate inner template will add a field to it: --- import BUGMultiDisFunction; struct st { template t1() { template t2(int n2) { } } } alias st.t1!().t2 a; --- Error: " variable main.st.t1!().n2 cannot use template to add field to aggregate 'st' " This only happens because of the "int n2" parameter. If the parameter is a type, alias, or non-existent, there will be no compiler error.
Comment #1 by bugzilla — 2006-08-11T19:18:21Z
Fixed DMD 0.164
Comment #2 by thomas-dloop — 2006-08-14T06:50:37Z
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [email protected] schrieb am 2006-08-02: > http://d.puremagic.com/issues/show_bug.cgi?id=276 > Compiler erroneously thinks an aggregate inner template will add a field to it: > > --- > import BUGMultiDisFunction; > > struct st { > template t1() { > template t2(int n2) { } > } > > } > > alias st.t1!().t2 a; > --- > Error: > " variable main.st.t1!().n2 cannot use template to add field to aggregate 'st' > " > > This only happens because of the "int n2" parameter. If the parameter is a > type, alias, or non-existent, there will be no compiler error. http://dstress.kuehne.cn/compile/t/template_41_A.d http://dstress.kuehne.cn/compile/t/template_41_B.d http://dstress.kuehne.cn/compile/t/template_41_C.d http://dstress.kuehne.cn/compile/t/template_41_D.d http://dstress.kuehne.cn/compile/t/template_41_E.d http://dstress.kuehne.cn/compile/t/template_41_F.d http://dstress.kuehne.cn/compile/t/template_41_G.d http://dstress.kuehne.cn/compile/t/template_41_H.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFE4FS/LK5blCcjpWoRAm/jAJ4qBt6D29AekJwhg27ykgbcKUaP9ACfS1W1 2DkM7qkwh1PWM2cCPAvD/A0= =siLP -----END PGP SIGNATURE-----
Comment #3 by dlang-bot — 2021-05-28T01:34:22Z
dlang/dlang-bot pull request #277 "Escape backticks with backslashes" was merged into master: - 32e43a05f291699eb28d96f2b136bc975b78651f by Vladimir Panteleev: Escape backticks with backslashes Fixes #276. https://github.com/dlang/dlang-bot/pull/277