[Issue 2303] New: static assert in a template function is not reported
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Aug 22 00:53:18 PDT 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2303
Summary: static assert in a template function is not reported
Product: D
Version: 2.018
Platform: PC
OS/Version: Windows
Status: NEW
Severity: major
Priority: P2
Component: DMD
AssignedTo: bugzilla at digitalmars.com
ReportedBy: samukha at voliacable.com
I wasn't able to reduce this further. Must be related to 2227
T foo(T : S!(U), U)(invariant(U) u)
{
T s;
bar!(T)(s, u);
return s;
}
void bar(T : S!(U), U)(T s, invariant(U) u)
{
static assert(false, "Error!"); // compiles if this line is commented out
}
void main()
{
foo!(S!(int))(1);
}
----
: template Test.bar(T) does not match any function template declaration
: template Test.bar(T) cannot deduce template function from argument types
!(S!(int))(S!(int),invariant(int))
: template instance Test.foo!(S!(int),int) error instantiating
This should report the static assert message, preferably with template
instantiation trace.
--
More information about the Digitalmars-d-bugs
mailing list