agemogolk/clay — comment on commit 8b482a7171382a3bedefcebcd586ecc2903249a4
File:  line 0
By jckarter:

"+" should definitely stop being used for concatenation. Having an operator for concatenation, at least with the way operators traditionally map to function calls, is a bit suboptimal though, because it leaves you with several intermediate objects. Move optimization helps there, but the overall operation still lacks the ability to estimate the target sequence size and reserve space appropriately. A variadic `cat(..x)` function wouldn't have that shortcoming.

A useful change might be to make it so that repeated applications of the same operator desugar into a single variadic function call instead of a series of binary calls, so that `a + b + c` was `add(a, b, c)` rather than `add(add(a, b), c)`. With that rule, a concatenation operator would be more useful.

bindgen under v0.1 is currently totally broken because all of clang's internal APIs changed. You may have to use bindgen from master and clayfix the results. One of the last things I need to do for v0.1 is rewrite the bindgen against the public libclang interface so it doesn't depend on the clang internals being installed.