fix Issue 13645 - Incorrect ddoc generation for deprecated module
[detab] test/runnable/implicit.d
fix Issue 13640 - can break immutability with inout
Merge pull request #4082 from 9rnsr/fix13645

Issue 13645 - Incorrect ddoc generation for deprecated module
remove std.math import

Reason: insnan is going to be deprecated in std.math.
Merge pull request #4090 from 9il/isnan

remove std.math import
fix Issue 12447 - variadic template functions hijack all eponymous enum and alias template overloads
fix Issue 11916 - [IFTI] Disabled by constraint overload with `out` with IFTI breaks overload resolution
fix Issue 11915 - Inconsistent overload resolution behaviour between `ref` and `out`
fix Issue 13586 - Destructors not run when argument list evaluation throws
Merge pull request #4091 from 9rnsr/fix12447

Issue 12447 & 11915 & 11916 - fix overload resolution issue around IFTI and out parameter
Merge pull request #4078 from WalterBright/fix13586

fix Issue 13586 - Destructors not run when argument list evaluation throws
refactor so lexer+parser keeps track of errors
Add predefined version identifiers for ELFv1 and ELFv2.

For PPC64 LittleEndian a new ELF version was defined. While the common usage is
ELFv1 with big endian and ELFv2 with little endian, the other uses are also possible.
In fact gcc defines a command line switch --with-abi=elfv1 / --with-abi=elfv2 to choose
the ELF ABI.
The new predefined version identifiers ELFv1 / ELFv2 reflect the fact that this
information cannot be determined elsewhere.
See http://llvm.org/devmtg/2014-04/PDFs/Talks/Euro-LLVM-2014-Weigand.pdf for more
information on ELFv2.
Merge pull request #4096 from redstar/elf

Add predefined version identifiers for ELFv1 and ELFv2.
Merge pull request #4094 from WalterBright/lexer-errors

refactor so lexer+parser keeps track of errors
Merge pull request #4083 from 9rnsr/fix13640

[REG2.066] Issue 13640 - can break immutability with inout