D-Programming-Language/phobos — pull request #733 by monarchdodra (2012-08-01 12:32:33+00:00)
Title: Conditional implementation of "put"

This is the first step of a "proof of concept" that we can deprecate functionalities in "put", which a making the definition of "isOutputRange" blurry.
(see bug report 8483)

This first step contains two changes:
1* A "no-impact" split of "put" into several different conditionally implemented functions. This should allow deprecating functionalities individually.
2* Removed the (undocumented) support for pointers that point to structures that have a "put" function.
2.1* Because this splicing of pointer/value is dangerous: It can create Access Violation error
2.2* Because it is just as easy and correct to write put(*r, v)
2.3* Because it only supports 1 level of inference. Why stop there? The functionality is inconsistent.
2.4* Because, AFAIK, it is unused in all of phobos anyways...

This first step is still under validation.