Mercurial > projects > ldc
view lphobos/std/array.d @ 295:895e1b50cf2a trunk
[svn r316] Fixed array slice assignments like: int[] arr = ...; arr[] = 42;
There was problems with most non basic types...
Added an option to premake so we can do: premake --target gnu --no-boehm
to disable the Boehm GC.
author | lindquist |
---|---|
date | Mon, 23 Jun 2008 14:48:42 +0200 |
parents | fd32135dca3e |
children |
line wrap: on
line source
module std.array; private import std.c.stdio; class ArrayBoundsError : Error { private: uint linnum; char[] filename; public: this(char[] filename, uint linnum) { this.linnum = linnum; this.filename = filename; char[] buffer = new char[19 + filename.length + linnum.sizeof * 3 + 1]; int len; len = sprintf(buffer.ptr, "ArrayBoundsError %.*s(%u)", filename, linnum); super(buffer[0..len]); } } /******************************************** * Called by the compiler generated module assert function. * Builds an ArrayBoundsError exception and throws it. */ extern (C) static void _d_array_bounds(char[] filename, uint line) { //printf("_d_assert(%s, %d)\n", (char *)filename, line); ArrayBoundsError a = new ArrayBoundsError(filename, line); //printf("assertion %p created\n", a); throw a; }