Fixed handling of a struct with no "length" field defined but with opDispatch of inappropriate type.
fix Issue 12853 - std.encoding EncodingSchemeUtf16Native and EncodingSchemeUtf32Native decode() and SafeDecode() wrong stripping length
fix Issue 12853 - std.encoding EncodingSchemeUtf16Native and EncodingSchemeUtf32Native decode() and SafeDecode() wrong stripping length
fix Issue 13077 - std.range.array with shared InputRangeObject
Merge pull request #2336 from AndrewEdwards/master

fix Issue 12853 - std.encoding EncodingSchemeUtf16Native and EncodingSch...
Merge pull request #2338 from 9rnsr/fix13077

[REG2.066a] Issue 13077 - std.range.array with shared InputRangeObject
prevent ambiguity when calling take with a Take!R

If Take!R satisfied ```isInputRange!(Unqual!R) && !isInfinite!(Unqual!R) && hasSlicing!(Unqual!R)``` then you would get an ambiguity error calling take!(Take!R)
fix unittest
actually fix the unittest...
Merge pull request #2340 from John-Colvin/patch-9

prevent ambiguity when calling take with a Take!R
Merge pull request #2062 from yglukhov/patch-1

Fix Variant to support structs with "length" field of inappropriate type