/*
TEST_OUTPUT:
---
fail_compilation/ctfe10989.d(11): Error: uncaught CTFE exception `object.Exception("abc"c)`
fail_compilation/ctfe10989.d(14):        called from here: `throwing()`
fail_compilation/ctfe10989.d(14):        while evaluating: `static assert(throwing())`
---
*/
int throwing()
{
    throw new Exception(['a', 'b', 'c']);
    return 0;
}
static assert(throwing());

/*
TEST_OUTPUT:
---
fail_compilation/ctfe10989.d(33): Error: uncaught CTFE exception `object.Exception("abc"c)`
fail_compilation/ctfe10989.d(36):        called from here: `throwing2()`
fail_compilation/ctfe10989.d(36):        while evaluating: `static assert(throwing2())`
---
*/
int throwing2()
{
    string msg = "abc";

    char[] arr;
    arr.length = msg.length;
    arr = arr[0 .. $];
    arr[] = msg;

    throw new Exception(cast(string)arr);
    return 0;
}
static assert(throwing2());
