diff --git a/src/core/demangle.d b/src/core/demangle.d index 3a58c21461..aef562601c 100644 --- a/src/core/demangle.d +++ b/src/core/demangle.d @@ -923,7 +923,6 @@ pure @safe: return dst[beg .. len]; case 'F': case 'U': case 'W': case 'V': case 'R': // TypeFunction return parseTypeFunction( name ); - case 'I': // TypeIdent (I LName) case 'C': // TypeClass (C LName) case 'S': // TypeStruct (S LName) case 'E': // TypeEnum (E LName) @@ -1241,6 +1240,11 @@ pure @safe: } switch ( front ) { + case 'I': // in (I Type) + popFront(); + put("in "); + parseType(); + continue; case 'J': // out (J Type) popFront(); put( "out " ); @@ -2437,6 +2441,7 @@ else ["printf", "printf"], ["_foo", "_foo"], ["_D88", "_D88"], + ["_D3fooQeFIAyaZv", "void foo.foo(in immutable(char)[])" ], ["_D4test3fooAa", "char[] test.foo"], ["_D8demangle8demangleFAaZAa", "char[] demangle.demangle(char[])"], ["_D6object6Object8opEqualsFC6ObjectZi", "int object.Object.opEquals(Object)"],