[Issue 16695] New: variadic argument static array can't use template arg as size
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Wed Nov 16 15:25:34 PST 2016
https://issues.dlang.org/show_bug.cgi?id=16695
Issue ID: 16695
Summary: variadic argument static array can't use template arg
as size
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: enhancement
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: code.viator at gmail.com
struct X(size_t S)
{
float[S] data;
void set(T)(T[S] vals...)
{
foreach (i; 0 .. S)
data[i] = float(vals[i]);
}
}
void main()
{
X!3 a;
a.set([1,2,3]);
a.set(1,2,3); // line 16
}
% rdmd bug_notvisible_ct_arg.d
bug_notvisible_ct_arg.d(16): Error: undefined identifier 'S'
bug_notvisible_ct_arg.d(16): Error: template bug_notvisible_ct_arg.X!3LU.X.set
cannot deduce function from argument types !()(int, int, int), candidates are:
bug_notvisible_ct_arg.d(5): bug_notvisible_ct_arg.X!3LU.X.set(T)(T[S]
vals...)
Failed: ["dmd", "-v", "-c",
"-of/tmp/.rdmd-1000/rdmd-bug_notvisible_ct_arg.d-2A14CCA7EDA1E925EDEE8C25A4D7639E/objs/bug_notvisible_ct_arg.o",
"bug_notvisible_ct_arg.d", "-I."]
% dmd --version
DMD64 D Compiler v2.072.0
system Linux 4.8.6-201.fc24.x86_64
--
More information about the Digitalmars-d-bugs
mailing list