[Issue 16630] New: Compile errors with std.traits.arity and std.traits.ParameterStorageClassTuple
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Thu Oct 20 21:03:06 PDT 2016
https://issues.dlang.org/show_bug.cgi?id=16630
Issue ID: 16630
Summary: Compile errors with std.traits.arity and
std.traits.ParameterStorageClassTuple
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: major
Priority: P1
Component: phobos
Assignee: nobody at puremagic.com
Reporter: goldmax3000 at gmail.com
This code
import std.traits;
class X
{
@property auto prop() const
{
struct Iter {}
return Iter();
}
}
pragma(msg, ParameterStorageClassTuple!(X.prop));
gives compile error:
/opt/compilers/dmd2/include/std/traits.d(1016): Error: string slice [1 .. 0] is
out of bounds
/opt/compilers/dmd2/include/std/traits.d(1016): Error: string slice [1 .. 0] is
out of bounds
/d57/f615.d(11): Error: template instance
std.traits.ParameterStorageClassTuple!(prop) error instantiating
/d57/f615.d(11): while evaluating pragma(msg,
ParameterStorageClassTuple!(prop))
Similar error with pragma(msg, arity!(X.prop));
/opt/compilers/dmd2/include/std/traits.d(1699): Error: string index 0 is out of
bounds [0 .. 0]
/opt/compilers/dmd2/include/std/traits.d(1699): Error: string index 0 is out of
bounds [0 .. 0]
/opt/compilers/dmd2/include/std/traits.d(1751): Error: template instance
std.traits.functionLinkage!() error instantiating
/opt/compilers/dmd2/include/std/traits.d(970): instantiated from here:
variadicFunctionStyle!(prop)
/opt/compilers/dmd2/include/std/traits.d(1756): Error: string index
18446744073709551593 is out of bounds [0 .. 0]
/opt/compilers/dmd2/include/std/traits.d(1756): Error: array index -23 is out
of bounds [0..0]
/d112/f0.d(11): while looking for match for arity!(prop)
/d112/f0.d(11): while evaluating pragma(msg, arity!(prop))
--
More information about the Digitalmars-d-bugs
mailing list