Bug 14605 – RefAppender fails isOutputRange

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2015-05-18T20:12:00Z
Last change time
2015-10-04T18:20:06Z
Keywords
pull
Assigned to
ag0aep6g
Creator
ag0aep6g

Comments

Comment #0 by ag0aep6g — 2015-05-18T20:12:52Z
---- import std.range: isOutputRange; import std.array: Appender, RefAppender; static assert(isOutputRange!(Appender!(int[]), int)); /* passes */ static assert(isOutputRange!(RefAppender!(int[]), int)); /* fails */ ---- Pull request on the way.
Comment #1 by ag0aep6g — 2015-07-16T19:46:02Z
Two alternative pull requests: https://github.com/D-Programming-Language/phobos/pull/3294 Changes RefAppender's opDispatch to be recognized by std.traits.hasMember. https://github.com/D-Programming-Language/phobos/pull/3497 Changes std.traits.hasMember to recognize opDispatch'ed members.
Comment #2 by github-bugzilla — 2015-08-27T06:29:59Z
Commit pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/dd2161705a7c6eb2fc9ba913a09b0592dde25469 std.traits.hasMember: just forward to __traits(hasMember, ...) This way opDispatch'ed members are recognized. Fixes issue 14605 - RefAppender fails isOutputRange.
Comment #3 by github-bugzilla — 2015-10-04T18:20:06Z