When you link to lines of code on github, it’s best to hit y first. Github will refresh the page but with the current sha of the file you’re looking at inserted into the url. That way even if the file changes on master, like that file just did, the line of code you’re referring to will remain what the link takes you to.
While on the subject. It still is not clear to mer why & is different from e.g. |. From the referenced discussion Cannot define & · Issue #11521 · JuliaLang/julia · GitHub it seems like & used to be a unary operator and that legacy is still haunting us ?
Some time ago I attempted to write a macro assembler in julia and needed post increment and decrement of registers. I found then that I could define a function named ++ but not --, which seemed arbitrary. None of those are julian functions and + and - are similar in all relevant aspects, afaik. But (from a fresh julia):
++ was added so that people could use it for a generic concatenation operator (or at least for string concatenation) (a la Haskell), to replace the operator punning of the multiplication operator * for string concatenation.
That’s why only ++ is parsed, and not --.
Julia uses += 1 and -= 1 instead of ++ and -- for pre-increment and pre-decrement.
Note: for better type-stability, you might be better with something like: x += one(typeof(x))
There’s not really anything for post increment/decrement though AFAIK.