D.gnu - Remove elements from char[] throws error
- Mark Lagodych (14/14) Mar 01 2021 Consider this small program:
- Adam D. Ruppe (5/6) Mar 01 2021 gdc bundles an older version of the std library, so that
- Mark Lagodych (2/8) Mar 01 2021 Got it! Thanks
Consider this small program: import std.stdio; import std.algorithm; void main() { char[] a = ['a', 'b', 'c', 'd', 'e']; writeln(remove(a, 1, 3)); } DMD compiles this fine. But GDC throws the following error: error: no overload matches for remove writeln(remove(a, 1, 3)); ^ Though calling 'remove' with int[] works just fine. I am new to D (but not to programming in general). Is it a GDC bug? If not, how to avoid this error?
Mar 01 2021
On Monday, 1 March 2021 at 17:05:18 UTC, Mark Lagodych wrote:DMD compiles this fine. But GDC throws the following error:gdc bundles an older version of the std library, so that particular overload was probably added more recently. You could possibly `cast(ubyte[]) a` in there to select a different overload.
Mar 01 2021
On Monday, 1 March 2021 at 17:16:11 UTC, Adam D. Ruppe wrote:On Monday, 1 March 2021 at 17:05:18 UTC, Mark Lagodych wrote:Got it! ThanksDMD compiles this fine. But GDC throws the following error:gdc bundles an older version of the std library, so that particular overload was probably added more recently. You could possibly `cast(ubyte[]) a` in there to select a different overload.
Mar 01 2021