# This file holds test cases for the D demangler.
# Each test case looks like this:
#  options
#  input to be demangled
#  expected output
#
# See demangle-expected for documentation of supported options.
#
# A line starting with `#' is ignored.
# However, blank lines in this file are NOT ignored.
#
############
#
# Coverage Tests
#
--format=dlang
_Dmain
D main
#
--format=dlang
_D8demangleZ
demangle
#
--format=dlang
_D8demangle4testZ
demangle.test
#
--format=dlang
_D8demangle4testPFLAiYi
demangle.test
#
--format=dlang
_D8demangle4testFZv
demangle.test()
#
--format=dlang
_D8demangle4testMFZ2fnMFZv
demangle.test().fn()
#
--format=dlang
_D8demangle4testFaZv
demangle.test(char)
#
--format=dlang
_D8demangle4testFbZv
demangle.test(bool)
#
--format=dlang
_D8demangle4testFcZv
demangle.test(creal)
#
--format=dlang
_D8demangle4testFdZv
demangle.test(double)
#
--format=dlang
_D8demangle4testFeZv
demangle.test(real)
#
--format=dlang
_D8demangle4testFfZv
demangle.test(float)
#
--format=dlang
_D8demangle4testFgZv
demangle.test(byte)
#
--format=dlang
_D8demangle4testFhZv
demangle.test(ubyte)
#
--format=dlang
_D8demangle4testFiZv
demangle.test(int)
#
--format=dlang
_D8demangle4testFjZv
demangle.test(ireal)
#
--format=dlang
_D8demangle4testFkZv
demangle.test(uint)
#
--format=dlang
_D8demangle4testFlZv
demangle.test(long)
#
--format=dlang
_D8demangle4testFmZv
demangle.test(ulong)
#
--format=dlang
_D8demangle4testFnZv
demangle.test(typeof(null))
#
--format=dlang
_D8demangle4testFNnZv
demangle.test(typeof(*null))
#
--format=dlang
_D8demangle4testFoZv
demangle.test(ifloat)
#
--format=dlang
_D8demangle4testFpZv
demangle.test(idouble)
#
--format=dlang
_D8demangle4testFqZv
demangle.test(cfloat)
#
--format=dlang
_D8demangle4testFrZv
demangle.test(cdouble)
#
--format=dlang
_D8demangle4testFsZv
demangle.test(short)
#
--format=dlang
_D8demangle4testFtZv
demangle.test(ushort)
#
--format=dlang
_D8demangle4testFuZv
demangle.test(wchar)
#
--format=dlang
_D8demangle4testFvZv
demangle.test(void)
#
--format=dlang
_D8demangle4testFwZv
demangle.test(dchar)
#
--format=dlang
_D8demangle4testFziZv
demangle.test(cent)
#
--format=dlang
_D8demangle4testFzkZv
demangle.test(ucent)
#
--format=dlang
_D8demangle4testFOaZv
demangle.test(shared(char))
#
--format=dlang
_D8demangle4testFxaZv
demangle.test(const(char))
#
--format=dlang
_D8demangle4testFyaZv
demangle.test(immutable(char))
#
--format=dlang
_D8demangle4testFNgaZv
demangle.test(inout(char))
#
--format=dlang
_D8demangle4testFOxaZv
demangle.test(shared(const(char)))
#
--format=dlang
_D8demangle4testFONgaZv
demangle.test(shared(inout(char)))
#
--format=dlang
_D8demangle4testFAaZv
demangle.test(char[])
#
--format=dlang
_D8demangle4testFAAaZv
demangle.test(char[][])
#
--format=dlang
_D8demangle4testFAAAaZv
demangle.test(char[][][])
#
--format=dlang
_D8demangle4testFG42aZv
demangle.test(char[42])
#
--format=dlang
_D8demangle4testFG42G42aZv
demangle.test(char[42][42])
#
--format=dlang
_D8demangle4testFG42G42G42aZv
demangle.test(char[42][42][42])
#
--format=dlang
_D8demangle4testFG1234567890aZv
demangle.test(char[1234567890])
#
--format=dlang
_D8demangle4testFHaaZv
demangle.test(char[char])
#
--format=dlang
_D8demangle4testFHHaaaZv
demangle.test(char[char[char]])
#
--format=dlang
_D8demangle4testFPaZv
demangle.test(char*)
#
--format=dlang
_D8demangle4testFPPaZv
demangle.test(char**)
#
--format=dlang
_D8demangle4testFPPPaZv
demangle.test(char***)
#
--format=dlang
_D8demangle4testFNhG8gZv
demangle.test(__vector(byte[8]))
#
--format=dlang
_D8demangle4testFNhG16gZv
demangle.test(__vector(byte[16]))
#
--format=dlang
_D8demangle4testFNhG32gZv
demangle.test(__vector(byte[32]))
#
--format=dlang
_D8demangle4testFNhG4sZv
demangle.test(__vector(short[4]))
#
--format=dlang
_D8demangle4testFNhG8sZv
demangle.test(__vector(short[8]))
#
--format=dlang
_D8demangle4testFNhG16sZv
demangle.test(__vector(short[16]))
#
--format=dlang
_D8demangle4testFNhG2iZv
demangle.test(__vector(int[2]))
#
--format=dlang
_D8demangle4testFNhG4iZv
demangle.test(__vector(int[4]))
#
--format=dlang
_D8demangle4testFNhG8iZv
demangle.test(__vector(int[8]))
#
--format=dlang
_D8demangle4testFNhG1lZv
demangle.test(__vector(long[1]))
#
--format=dlang
_D8demangle4testFNhG2lZv
demangle.test(__vector(long[2]))
#
--format=dlang
_D8demangle4testFNhG4lZv
demangle.test(__vector(long[4]))
#
--format=dlang
_D8demangle4testFNhG2fZv
demangle.test(__vector(float[2]))
#
--format=dlang
_D8demangle4testFNhG4fZv
demangle.test(__vector(float[4]))
#
--format=dlang
_D8demangle4testFNhG8fZv
demangle.test(__vector(float[8]))
#
--format=dlang
_D8demangle4testFNhG1dZv
demangle.test(__vector(double[1]))
#
--format=dlang
_D8demangle4testFNhG2dZv
demangle.test(__vector(double[2]))
#
--format=dlang
_D8demangle4testFNhG4dZv
demangle.test(__vector(double[4]))
#
--format=dlang
_D8demangle4testFC5classZv
demangle.test(class)
#
--format=dlang
_D8demangle4testFC5class4testZv
demangle.test(class.test)
#
--format=dlang
_D8demangle4testFS6structZv
demangle.test(struct)
#
--format=dlang
_D8demangle4testFS6struct4testZv
demangle.test(struct.test)
#
--format=dlang
_D8demangle4testFE4enumZv
demangle.test(enum)
#
--format=dlang
_D8demangle4testFE4enum4testZv
demangle.test(enum.test)
#
--format=dlang
_D8demangle4testFT7typedefZv
demangle.test(typedef)
#
--format=dlang
_D8demangle4testFT7typedef4testZv
demangle.test(typedef.test)
#
--format=dlang
_D8demangle4testFIaZv
demangle.test(in char)
#
--format=dlang
_D8demangle4testFIKaZv
demangle.test(in ref char)
#
--format=dlang
_D8demangle4testFJaZv
demangle.test(out char)
#
--format=dlang
_D8demangle4testFKaZv
demangle.test(ref char)
#
--format=dlang
_D8demangle4testFLaZv
demangle.test(lazy char)
#
--format=dlang
_D8demangle4testFMaZv
demangle.test(scope char)
#
--format=dlang
_D8demangle4testFNjaZv
demangle.test(char)
#
--format=dlang
_D8demangle4testFNkaZv
demangle.test(return char)
#
--format=dlang
_D8demangle4testFNlaZv
demangle.test(char)
#
--format=dlang
_D8demangle4testFaXv
demangle.test(char...)
#
--format=dlang
_D8demangle4testFaYv
demangle.test(char, ...)
#
--format=dlang
_D8demangle4testFaaYv
demangle.test(char, char, ...)
#
--format=dlang
_D8demangle4testFYv
demangle.test(...)
#
--format=dlang
_D8demangle4testFaaZv
demangle.test(char, char)
#
--format=dlang
_D8demangle4testFB0Zv
demangle.test(Tuple!())
#
--format=dlang
_D8demangle4testFB1aZv
demangle.test(Tuple!(char))
#
--format=dlang
_D8demangle4testFB2aaZv
demangle.test(Tuple!(char, char))
#
--format=dlang
_D8demangle4testFB3aaaZv
demangle.test(Tuple!(char, char, char))
#
--format=dlang
_D8demangle4testFB2OaaZv
demangle.test(Tuple!(shared(char), char))
#
--format=dlang
_D8demangle4testFB3aDFZaaZv
demangle.test(Tuple!(char, char() delegate, char))
#
--format=dlang
_D8demangle4testFDFZaZv
demangle.test(char() delegate)
#
--format=dlang
_D8demangle4testFDUZaZv
demangle.test(extern(C) char() delegate)
#
--format=dlang
_D8demangle4testFDWZaZv
demangle.test(extern(Windows) char() delegate)
#
--format=dlang
_D8demangle4testFDVZaZv
demangle.test(extern(Pascal) char() delegate)
#
--format=dlang
_D8demangle4testFDRZaZv
demangle.test(extern(C++) char() delegate)
#
--format=dlang
_D8demangle4testFDYZaZv
demangle.test(extern(Objective-C) char() delegate)
#
--format=dlang
_D8demangle4testFPFZaZv
demangle.test(char() function)
#
--format=dlang
_D8demangle4testFPUZaZv
demangle.test(extern(C) char() function)
#
--format=dlang
_D8demangle4testFPWZaZv
demangle.test(extern(Windows) char() function)
#
--format=dlang
_D8demangle4testFPVZaZv
demangle.test(extern(Pascal) char() function)
#
--format=dlang
_D8demangle4testFPRZaZv
demangle.test(extern(C++) char() function)
#
--format=dlang
_D8demangle4testFPYZaZv
demangle.test(extern(Objective-C) char() function)
#
--format=dlang
_D8demangle4testFDFNaZaZv
demangle.test(char() pure delegate)
#
--format=dlang
_D8demangle4testFDFNbZaZv
demangle.test(char() nothrow delegate)
#
--format=dlang
_D8demangle4testFDFNcZaZv
demangle.test(char() ref delegate)
#
--format=dlang
_D8demangle4testFDFNdZaZv
demangle.test(char() @property delegate)
#
--format=dlang
_D8demangle4testFDFNeZaZv
demangle.test(char() @trusted delegate)
#
--format=dlang
_D8demangle4testFDFNfZaZv
demangle.test(char() @safe delegate)
#
--format=dlang
_D8demangle4testFDFNiZaZv
demangle.test(char() @nogc delegate)
#
--format=dlang
_D8demangle4testFDFNmZaZv
demangle.test(char() @live delegate)
#
--format=dlang
_D8demangle4testFDFNaNbZaZv
demangle.test(char() pure nothrow delegate)
#
--format=dlang
_D8demangle4testFDFNbNaZaZv
demangle.test(char() nothrow pure delegate)
#
--format=dlang
_D8demangle4testFDFNdNfNaZaZv
demangle.test(char() @property @safe pure delegate)
#
--format=dlang
_D8demangle4testFNjDFZaZv
demangle.test(char() delegate)
#
--format=dlang
_D8demangle4testFNkDFZaZv
demangle.test(return char() delegate)
#
--format=dlang
_D8demangle4testFDFNjZaZv
demangle.test(char() return delegate)
#
--format=dlang
_D8demangle4testFNjNkDFNjZaZv
demangle.test(return char() return delegate)
#
--format=dlang
_D8demangle4testFNlDFZaZv
demangle.test(char() delegate)
#
--format=dlang
_D8demangle4testFMDFZaZv
demangle.test(scope char() delegate)
#
--format=dlang
_D8demangle4testFDFNlZaZv
demangle.test(char() scope delegate)
#
--format=dlang
_D8demangle4testFMDFNlZaZv
demangle.test(scope char() scope delegate)
#
--format=dlang
_D8demangle4testFNlMDFNlZaZv
demangle.test(scope char() scope delegate)
#
--format=dlang
_D8demangle4testFPFNaZaZv
demangle.test(char() pure function)
#
--format=dlang
_D8demangle4testFPFNbZaZv
demangle.test(char() nothrow function)
#
--format=dlang
_D8demangle4testFPFNcZaZv
demangle.test(char() ref function)
#
--format=dlang
_D8demangle4testFPFNdZaZv
demangle.test(char() @property function)
#
--format=dlang
_D8demangle4testFPFNeZaZv
demangle.test(char() @trusted function)
#
--format=dlang
_D8demangle4testFPFNfZaZv
demangle.test(char() @safe function)
#
--format=dlang
_D8demangle4testFPFNiZaZv
demangle.test(char() @nogc function)
#
--format=dlang
_D8demangle4testFPFNmZaZv
demangle.test(char() @live function)
#
--format=dlang
_D8demangle4testFPFNaNbZaZv
demangle.test(char() pure nothrow function)
#
--format=dlang
_D8demangle4testFPFNbNaZaZv
demangle.test(char() nothrow pure function)
#
--format=dlang
_D8demangle4testFPFNdNfNaZaZv
demangle.test(char() @property @safe pure function)
#
--format=dlang
_D8demangle4testFNjPFZaZv
demangle.test(char() function)
#
--format=dlang
_D8demangle4testFNkPFZaZv
demangle.test(return char() function)
#
--format=dlang
_D8demangle4testFPFNjZaZv
demangle.test(char() return function)
#
--format=dlang
_D8demangle4testFNjNkPFNjZaZv
demangle.test(return char() return function)
#
--format=dlang
_D8demangle4testFNlPFZaZv
demangle.test(char() function)
#
--format=dlang
_D8demangle4testFMPFZaZv
demangle.test(scope char() function)
#
--format=dlang
_D8demangle4testFPFNlZaZv
demangle.test(char() scope function)
#
--format=dlang
_D8demangle4testFMPFNlZaZv
demangle.test(scope char() scope function)
#
--format=dlang
_D8demangle4testFNlMPFNlZaZv
demangle.test(scope char() scope function)
#
--format=dlang
_D8demangle4test6__initZ
initializer for demangle.test
#
--format=dlang
_D8demangle4test6__vtblZ
vtable for demangle.test
#
--format=dlang
_D8demangle4test7__ClassZ
ClassInfo for demangle.test
#
--format=dlang
_D8demangle4test11__InterfaceZ
Interface for demangle.test
#
--format=dlang
_D8demangle4test12__ModuleInfoZ
ModuleInfo for demangle.test
#
--format=dlang
_D8demangle4test6__ctorMFZv
demangle.test.this()
#
--format=dlang
_D8demangle4test6__dtorMFZv
demangle.test.~this()
#
--format=dlang
_D8demangle4test10__postblitMFZv
demangle.test.this(this)
#
--format=dlang
_D8demangle4testFHAbaZv
demangle.test(char[bool[]])
#
--format=dlang
_D8demangle4testFHG42caZv
demangle.test(char[creal[42]])
#
--format=dlang
_D8demangle4testFAiXv
demangle.test(int[]...)
#
--format=dlang
_D8demangle4testFLAiXv
demangle.test(lazy int[]...)
#
--format=dlang
_D8demangle4testFAiYv
demangle.test(int[], ...)
#
--format=dlang
_D8demangle4testFLAiYv
demangle.test(lazy int[], ...)
#
--format=dlang
_D8demangle4testFLilZv
demangle.test(lazy int, long)
#
--format=dlang
_D8demangle4testFLliZv
demangle.test(lazy long, int)
#
--format=dlang
_D8demangle4testFLC6ObjectLDFLiZiZi
demangle.test(lazy Object, lazy int(lazy int) delegate)
#
--format=dlang
_D8demangle9__T4testZv
demangle.test!()
#
--format=dlang
_D8demangle9__U4testZv
demangle.test!()
#
--format=dlang
_D8demangle11__T4testTaZv
demangle.test!(char)
#
--format=dlang
_D8demangle13__T4testTaTaZv
demangle.test!(char, char)
#
--format=dlang
_D8demangle15__T4testTaTaTaZv
demangle.test!(char, char, char)
#
--format=dlang
_D8demangle16__T4testTaTOiTaZv
demangle.test!(char, shared(int), char)
#
--format=dlang
_D8demangle17__T4testS6symbolZv
demangle.test!(symbol)
#
--format=dlang
_D8demangle23__T4testS116symbol3fooZv
demangle.test!(symbol.foo)
#
--format=dlang
_D8demangle32__T4testS20_D6symbol3foo3barFZvZv
demangle.test!(symbol.foo.bar())
#
--format=dlang
_D8demangle19__T4testTaS6symbolZv
demangle.test!(char, symbol)
#
--format=dlang
_D8demangle19__T4testS6symbolTaZv
demangle.test!(symbol, char)
#
--format=dlang
_D8demangle12__T4testHTaZv
demangle.test!(char)
#
--format=dlang
_D8demangle13__T4testVPinZv
demangle.test!(null)
#
--format=dlang
_D8demangle15__T4testVgi123Zv
demangle.test!(123)
#
--format=dlang
_D8demangle15__T4testVii123Zv
demangle.test!(123)
#
--format=dlang
_D8demangle15__T4testVsi123Zv
demangle.test!(123)
#
--format=dlang
_D8demangle15__T4testVhi123Zv
demangle.test!(123u)
#
--format=dlang
_D8demangle15__T4testVki123Zv
demangle.test!(123u)
#
--format=dlang
_D8demangle15__T4testVti123Zv
demangle.test!(123u)
#
--format=dlang
_D8demangle15__T4testVli123Zv
demangle.test!(123L)
#
--format=dlang
_D8demangle15__T4testVmi123Zv
demangle.test!(123uL)
#
--format=dlang
_D8demangle15__T4testViN123Zv
demangle.test!(-123)
#
--format=dlang
_D8demangle15__T4testVkN123Zv
demangle.test!(-123u)
#
--format=dlang
_D8demangle15__T4testVlN123Zv
demangle.test!(-123L)
#
--format=dlang
_D8demangle15__T4testVmN123Zv
demangle.test!(-123uL)
#
--format=dlang
_D8demangle13__T4testVbi1Zv
demangle.test!(true)
#
--format=dlang
_D8demangle13__T4testVbi0Zv
demangle.test!(false)
#
--format=dlang
_D8demangle14__T4testVai10Zv
demangle.test!('\x0a')
#
--format=dlang
_D8demangle14__T4testVai32Zv
demangle.test!(' ')
#
--format=dlang
_D8demangle14__T4testVai65Zv
demangle.test!('A')
#
--format=dlang
_D8demangle15__T4testVai126Zv
demangle.test!('~')
#
--format=dlang
_D8demangle16__T4testVui1000Zv
demangle.test!('\u03e8')
#
--format=dlang
_D8demangle18__T4testVwi100000Zv
demangle.test!('\U000186a0')
#
--format=dlang
_D8demangle17__T4testVde0A8P6Zv
demangle.test!(0x0.A8p6)
#
--format=dlang
_D8demangle16__T4testVdeA8P2Zv
demangle.test!(0xA.8p2)
#
--format=dlang
_D8demangle18__T4testVdeN0A8P6Zv
demangle.test!(-0x0.A8p6)
#
--format=dlang
_D8demangle31__T4testVde0F6E978D4FDF3B646P7Zv
demangle.test!(0x0.F6E978D4FDF3B646p7)
#
--format=dlang
_D8demangle15__T4testVdeNANZv
demangle.test!(NaN)
#
--format=dlang
_D8demangle15__T4testVdeINFZv
demangle.test!(Inf)
#
--format=dlang
_D8demangle16__T4testVdeNINFZv
demangle.test!(-Inf)
#
--format=dlang
_D8demangle23__T4testVfe0FFFFFFP128Zv
demangle.test!(0x0.FFFFFFp128)
#
--format=dlang
_D8demangle32__T4testVde0FFFFFFFFFFFFF8P1024Zv
demangle.test!(0x0.FFFFFFFFFFFFF8p1024)
#
--format=dlang
_D8demangle19__T4testVfe08PN125Zv
demangle.test!(0x0.8p-125)
#
--format=dlang
_D8demangle20__T4testVde08PN1021Zv
demangle.test!(0x0.8p-1021)
#
--format=dlang
_D8demangle51__T4testVrc0C4CCCCCCCCCCCCCDP4c0B666666666666666P6Zv
demangle.test!(0x0.C4CCCCCCCCCCCCCDp4+0x0.B666666666666666p6i)
#
--format=dlang
_D8demangle52__T4testVrcN0C4CCCCCCCCCCCCCDP4c0B666666666666666P6Zv
demangle.test!(-0x0.C4CCCCCCCCCCCCCDp4+0x0.B666666666666666p6i)
#
--format=dlang
_D8demangle91__T4testVde000111222333444555666777888999AAABBBCCCDDDEEEFFFP000111222333444555666777888999Zv
demangle.test!(0x0.00111222333444555666777888999AAABBBCCCDDDEEEFFFp000111222333444555666777888999)
#
--format=dlang
_D8demangle22__T4testVG3ua3_616263Zv
demangle.test!("abc")
#
--format=dlang
_D8demangle22__T4testVG3ud3_616263Zv
demangle.test!("abc"d)
#
--format=dlang
_D8demangle22__T4testVG3uw3_616263Zv
demangle.test!("abc"w)
#
--format=dlang
_D8demangle16__T4testVAyaa0_Zv
demangle.test!("")
#
--format=dlang
_D8demangle32__T4testVAyaa8_20090a0d0c0b00ffZv
demangle.test!(" \t\n\r\f\v\x00\xff")
#
--format=dlang
_D8demangle22__T4testVAiA4i1i2i3i4Zv
demangle.test!([1, 2, 3, 4])
#
--format=dlang
_D8demangle25__T4testVAdA2e08P1eN08P1Zv
demangle.test!([0x0.8p1, -0x0.8p1])
#
--format=dlang
_D8demangle23__T4testVHiiA2i1i2i3i4Zv
demangle.test!([1:2, 3:4])
#
--format=dlang
_D8demangle39__T4testVHAxaiA2a3_616263i1a3_646566i2Zv
demangle.test!(["abc":1, "def":2])
#
--format=dlang
_D8demangle28__T4testVS8demangle1SS2i1i2Zv
demangle.test!(demangle.S(1, 2))
#
--format=dlang
_D8demangle35__T4testVS8demangle1SS2i1a3_616263Zv
demangle.test!(demangle.S(1, "abc"))
#
--format=dlang
_D8demangle13__T4testTFZaZ6mangleFZv
demangle.test!(char() function).mangle()
#
--format=dlang
_D8demangle4testMxFZv
demangle.test() const
#
--format=dlang
_D8demangle4testMyFZv
demangle.test() immutable
#
--format=dlang
_D8demangle4testMNgFZv
demangle.test() inout
#
--format=dlang
_D8demangle4testMNgxFZv
demangle.test() inout const
#
--format=dlang
_D8demangle4testMOFZv
demangle.test() shared
#
--format=dlang
_D8demangle4testMOxFZv
demangle.test() shared const
#
--format=dlang
_D8demangle4testMONgFZv
demangle.test() shared inout
#
--format=dlang
_D8demangle4testMONgxFZv
demangle.test() shared inout const
#
--format=dlang
_D8demangle4testFDxFZaZv
demangle.test(char() delegate const)
#
--format=dlang
_D8demangle4testFDyFZaZv
demangle.test(char() delegate immutable)
#
--format=dlang
_D8demangle4testFDNgFZaZv
demangle.test(char() delegate inout)
#
--format=dlang
_D8demangle4testFDNgxFZaZv
demangle.test(char() delegate inout const)
#
--format=dlang
_D8demangle4testFDOFZaZv
demangle.test(char() delegate shared)
#
--format=dlang
_D8demangle4testFDOxFZaZv
demangle.test(char() delegate shared const)
#
--format=dlang
_D8demangle4testFDONgFZaZv
demangle.test(char() delegate shared inout)
#
--format=dlang
_D8demangle4testFDONgxFZaZv
demangle.test(char() delegate shared inout const)
#
--format=dlang
_D8demangle004testFaZv
demangle.test(char)
#
--format=dlang
_D8demangle000000004testFaZv
demangle.test(char)
#
--format=dlang
_D8demangle__T3abcS_DQt10__lambda13FNaNbNiNfZiZQBhFZi
demangle.abc!(demangle.__lambda13()).abc()
#
# Unittests
#
--format=dlang
printf
printf
#
--format=dlang
_foo
_foo
#
--format=dlang
_D88
_D88
#
--format=dlang
_D5__T1aZv
_D5__T1aZv
#
--format=dlang
_D00
_D00
#
--format=dlang
_D01_D
_D01_D
#
--format=dlang
_D9223372036854775817
_D9223372036854775817
#
--format=dlang
_D1az
_D1az
#
--format=dlang
_D1aN
_D1aN
#
--format=dlang
_D1aF
_D1aF
#
--format=dlang
_D1aM
_D1aM
#
--format=dlang
_D1aFZNz
_D1aFZNz
#
--format=dlang
_D1aFNzZv
_D1aFNzZv
#
--format=dlang
_D4testFDX
_D4testFDX
#
--format=dlang
_D5__T0aZv
_D5__T0aZv
#
--format=dlang
_D10__T4testYZv
_D10__T4testYZv
#
--format=dlang
_D4testFBaZv
_D4testFBaZv
#
--format=dlang
_D8__T4test
_D8__T4test
#
--format=dlang
_D10__T4testVi
_D10__T4testVi
#
--format=dlang
_D10__T4testVai
_D10__T4testVai
#
--format=dlang
_D10__T4testVbi
_D10__T4testVbi
#
--format=dlang
_D11__T4testS1a
_D11__T4testS1a
#
--format=dlang
_D12__T4testViiZv
_D12__T4testViiZv
#
--format=dlang
_D12__T4testViYZv
_D12__T4testViYZv
#
--format=dlang
_D12__T4testVrcZv
_D12__T4testVrcZv
#
--format=dlang
_D13__T4testVdeYZv
_D13__T4testVdeYZv
#
--format=dlang
_D13__T4testViSiZv
_D13__T4testViSiZv
#
--format=dlang
_D14__T4testVAiAiZv
_D14__T4testVAiAiZv
#
--format=dlang
_D14__T4testS123aZv
_D14__T4testS123aZv
#
--format=dlang
_D15__T4testVHiiAiZv
_D15__T4testVHiiAiZv
#
--format=dlang
_D15__T4testVfe0p1Zv
_D15__T4testVfe0p1Zv
#
--format=dlang
_D15__T4testVAyaa1_
_D15__T4testVAyaa1_
#
--format=dlang
_D16__T4testVAyaa0aZv
_D16__T4testVAyaa0aZv
#
--format=dlang
_D18__T4testVAyaa1_0GZv
_D18__T4testVAyaa1_0GZv
#
--format=dlang
_D18__T4testVAyaa1_YYZv
_D18__T4testVAyaa1_YYZv
#
--format=dlang
_D4test3fooAa
test.foo
#
--format=dlang
_D8demangle8demangleFAaZAa
demangle.demangle(char[])
#
--format=dlang
_D6object6Object8opEqualsFC6ObjectZi
object.Object.opEquals(Object)
#
--format=dlang
_D6object6Object8opAssignFC6ObjectZi
object.Object.opAssign(Object)
#
--format=dlang
_D4test2dgDFiYd
test.dg
#
--format=dlang
_D1a1bi
a.b
#
--format=dlang
_D1a1bPFiZi
a.b
#
--format=dlang
_D4test34__T3barVG3uw3_616263VG3wd3_646566Z1xi
test.bar!("abc"w, "def"d).x
#
--format=dlang
_D4test21__T3funVwi4294967295Z3funFNaNbNiNfZv
test.fun!('\Uffffffff').fun()
#
--format=dlang
_D4test21__T3funVwi4294967296Z3funFNaNbNiNfZv
_D4test21__T3funVwi4294967296Z3funFNaNbNiNfZv
#
--format=dlang
_D6plugin8generateFiiZAya
plugin.generate(int, int)
#
--format=dlang
_D6plugin8generateFiiZAxa
plugin.generate(int, int)
#
--format=dlang
_D6plugin8generateFiiZAOa
plugin.generate(int, int)
#
--format=dlang
_D8demangle3fnAFZ3fnBMFZv
demangle.fnA().fnB()
#
--format=dlang
_D8demangle4mainFZ1S3fnCMFZv
demangle.main().S.fnC()
#
--format=dlang
_D8demangle4mainFZ1S3fnDMFZv
demangle.main().S.fnD()
#
--format=dlang
_D8demangle4mainFZ5localMFZi
demangle.main().local()
#
--format=dlang
_D3std5ascii9uppercaseyAa
std.ascii.uppercase
#
--format=dlang
_D3std6stream9BOMEndianyG5E3std6system6Endian
std.stream.BOMEndian
#
--format=dlang
_D3std8internal7uni_tab10unicodeNkoyS3std8internal3uni12CodepointSet
std.internal.uni_tab.unicodeNko
#
--format=dlang
_D2gc2gc2GC6addrOfMFPvZPv
gc.gc.GC.addrOf(void*)
#
--format=dlang
_D3std7process10setCLOEXECFibZv
std.process.setCLOEXEC(int, bool)
#
--format=dlang
_D3std6digest2md3MD53putMFNaNbNeMAxhXv
std.digest.md.MD5.put(scope const(ubyte)[]...)
#
--format=dlang
_D3std6mmfile6MmFile13opIndexAssignMFhmZh
std.mmfile.MmFile.opIndexAssign(ubyte, ulong)
#
--format=dlang
_D3std7process18escapeShellCommandFxAAaXAya
std.process.escapeShellCommand(const(char[][])...)
#
--format=dlang
_D4core4sync5mutex5Mutex6__ctorMFC6ObjectZC4core4sync5mutex5Mutex
core.sync.mutex.Mutex.this(Object)
#
--format=dlang
_D6object14TypeInfo_Array8argTypesMFNbNfJC8TypeInfoJC8TypeInfoZi
object.TypeInfo_Array.argTypes(out TypeInfo, out TypeInfo)
#
--format=dlang
_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ7tryExecMFMDFZvZv
rt.dmain2._d_run_main(int, char**, extern(C) int(char[][]) function).tryExec(scope void() delegate)
#
--format=dlang
_D6object9Exception6__ctorMFNaNbNfAyaAyamC6object9ThrowableZC9Exception
object.Exception.this(immutable(char)[], immutable(char)[], ulong, object.Throwable)
#
--format=dlang
_D3gcc3deh17parse_lsda_headerFPS3gcc6unwind7generic15_Unwind_ContextPhPS3gcc3deh16lsda_header_infoZPh
gcc.deh.parse_lsda_header(gcc.unwind.generic._Unwind_Context*, ubyte*, gcc.deh.lsda_header_info*)
#
--format=dlang
_D3std6socket23UnknownAddressReference6__ctorMFPS4core3sys5posix3sys6socket8sockaddrkZC3std6socket23UnknownAddressReference
std.socket.UnknownAddressReference.this(core.sys.posix.sys.socket.sockaddr*, uint)
#
--format=dlang
_D8demangle20__T2fnVAiA4i1i2i3i4Z2fnFZv
demangle.fn!([1, 2, 3, 4]).fn()
#
--format=dlang
_D8demangle11__T2fnVii1Z2fnFZv
demangle.fn!(1).fn()
#
--format=dlang
_D8demangle26__T2fnVS8demangle1SS2i1i2Z2fnFZv
demangle.fn!(demangle.S(1, 2)).fn()
#
--format=dlang
_D8demangle13__T2fnVeeNANZ2fnFZv
demangle.fn!(NaN).fn()
#
--format=dlang
_D8demangle14__T2fnVeeNINFZ2fnFZv
demangle.fn!(-Inf).fn()
#
--format=dlang
_D8demangle13__T2fnVeeINFZ2fnFZv
demangle.fn!(Inf).fn()
#
--format=dlang
_D8demangle21__T2fnVHiiA2i1i2i3i4Z2fnFZv
demangle.fn!([1:2, 3:4]).fn()
#
--format=dlang
_D8demangle2fnFNgiZNgi
demangle.fn(inout(int))
#
--format=dlang
_D8demangle29__T2fnVa97Va9Va0Vu257Vw65537Z2fnFZv
demangle.fn!('a', '\x09', '\x00', '\u0101', '\U00010001').fn()
#
--format=dlang
_D8demangle32__T2fnTS3symVS3valS1a4_6e756c6cZ3fun13__T8positionZ13__T8confusesZ8demangleFDFxaZvZv
demangle.fn!(sym, val("null")).fun.position!().confuses!().demangle(void(const(char)) delegate)
#
--format=dlang
_D8demangle39__T2fnVAyaa12_d0bfd180d0b8d0bcd0b5d180Z2fnFZv
demangle.fn!("\xd0\xbf\xd1\x80\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x80").fn()
#
--format=dlang
_D8demangle26__T2fnVAyaa6_e4b896e7958cZ2fnFZv
demangle.fn!("\xe4\xb8\x96\xe7\x95\x8c").fn()
#
--format=dlang
_D2gc11gctemplates56__T8mkBitmapTS3std5range13__T4iotaTiTiZ4iotaFiiZ6ResultZ8mkBitmapFNbNiNfPmmZv
gc.gctemplates.mkBitmap!(std.range.iota!(int, int).iota(int, int).Result).mkBitmap(ulong*, ulong)
#
--format=dlang
_D8serenity9persister6Sqlite69__T15SqlitePersisterTS8serenity9persister6Sqlite11__unittest6FZ4TestZ15SqlitePersister12__T7opIndexZ7opIndexMFmZS8serenity9persister6Sqlite11__unittest6FZ4Test
serenity.persister.Sqlite.SqlitePersister!(serenity.persister.Sqlite.__unittest6().Test).SqlitePersister.opIndex!().opIndex(ulong)
#
--format=dlang
_D3std6socket12InternetHost221__T13getHostNoSyncVAyaa96_0a09202020206175746f2078203d2068746f6e6c28706172616d293b0a09202020206175746f206865203d20676574686f73746279616464722826782c20342c206361737428696e74294164647265737346616d696c792e494e4554293b0a09TkZ13getHostNoSyncMFkZb
std.socket.InternetHost.getHostNoSync!("\n\t    auto x = htonl(param);\n\t    auto he = gethostbyaddr(&x, 4, cast(int)AddressFamily.INET);\n\t", uint).getHostNoSync(uint)
#
--format=dlang
_D2gc6config13__T5parseHTfZ5parseFNbNiAxaKAxaKfZb
gc.config.parse!(float).parse(const(char)[], ref const(char)[], ref float)
#
--format=dlang
_D3std11parallelism273__T4TaskS213std11parallelism3runTDFS3std9algorithm87__T9MapResultS27_D4test4mainFZ7getTermMFiZeTS3std5range13__T4iotaTiTiZ4iotaFiiZ6ResultZ9MapResultmmZeTS3std9algorithm87__T9MapResultS27_D4test4mainFZ7getTermMFiZeTS3std5range13__T4iotaTiTiZ4iotaFiiZ6ResultZ9MapResultTmTmZ4Task4implFPvZv
std.parallelism.Task!(std.parallelism.run, real(std.algorithm.MapResult!(test.main().getTerm(int), std.range.iota!(int, int).iota(int, int).Result).MapResult, ulong, ulong) delegate, std.algorithm.MapResult!(test.main().getTerm(int), std.range.iota!(int, int).iota(int, int).Result).MapResult, ulong, ulong).Task.impl(void*)
#
--format=dlang
_D2rt5minfo16__unittestL518_6FZ12UTModuleInfo6__ctorMFNckZS2rt5minfo16__unittestL518_6FZ12UTModuleInfo
rt.minfo.__unittestL518_6().UTModuleInfo.this(uint)
#
--format=dlang
_D3std6traits37__T7fqnTypeTC6ObjectVbi0Vbi0Vbi0Vbi0Z13addQualifiersFAyabbbbZAya
std.traits.fqnType!(Object, false, false, false, false).addQualifiers(immutable(char)[], bool, bool, bool, bool)
#
--format=dlang
_D3std9algorithm117__T9MapResultS153std5range4onlyTS3std9algorithm53__T12FilterResultS28_D3std3uni7isUpperFNaNbNfwZbTAyaZ12FilterResultZ9MapResult5frontMFNaNdNfZS3std5range22__T10OnlyResultTwVmi1Z10OnlyResult
std.algorithm.MapResult!(std.range.only, std.algorithm.FilterResult!(std.uni.isUpper(dchar), immutable(char)[]).FilterResult).MapResult.front()
#
--format=dlang
_D3std6traits17__T6fqnSymS43stdZ11adjustIdentFAyaZAya
std.traits.fqnSym!(std).adjustIdent(immutable(char)[])
#
--format=dlang
_D2rt8lifetime36__T14_d_newarrayOpTS13_d_newarrayiTZ14_d_newarrayOpTFNaNbxC8TypeInfomPmZAv
rt.lifetime._d_newarrayOpT!(_d_newarrayiT)._d_newarrayOpT(const(TypeInfo), ulong, ulong*)
#
--format=dlang
_D4core8demangle16__T6mangleTFZPvZ6mangleFNaNbNfAxaAaZ11DotSplitter5emptyMxFNaNbNdNiNfZb
core.demangle.mangle!(void*() function).mangle(const(char)[], char[]).DotSplitter.empty() const
# Could crash
--format=dlang
_D8__T2fnVa8888888888888_
_D8__T2fnVa8888888888888_
# Could crash
--format=dlang
_D5__T2fnVmA1A1A911111111D
_D5__T2fnVmA1A1A911111111D
# Could crash
--format=dlang
_D7__T2fnVlS8S588888888888S6S5
_D7__T2fnVlS8S588888888888S6S5
# Could crash
--format=dlang
_D1_B699999999961*
_D1_B699999999961*
# Could crash
--format=dlang
_D5__T1fVHacA6666666666_
_D5__T1fVHacA6666666666_
#
--format=dlang
_D3std5range15__T4iotaTtTtTtZ4iotaFtttZ6Result7opIndexMNgFNaNbNiNfmZNgt
std.range.iota!(ushort, ushort, ushort).iota(ushort, ushort, ushort).Result.opIndex(ulong) inout
#
--format=dlang
_D3std6format77__T6getNthVAyaa13_696e7465676572207769647468S233std6traits10isIntegralTiTkTkZ6getNthFNaNfkkkZi
std.format.getNth!("integer width", std.traits.isIntegral, int, uint, uint).getNth(uint, uint, uint)
#
--format=dlang
_D3std11parallelism42__T16RoundRobinBufferTDFKAaZvTDxFNaNdNeZbZ16RoundRobinBuffer5primeMFZv
std.parallelism.RoundRobinBuffer!(void(ref char[]) delegate, bool() pure @property @trusted delegate const).RoundRobinBuffer.prime()
#
--format=dlang
_D4core4stdc5errnoQgFZi
core.stdc.errno.errno()
#
--format=dlang
_D4testFS10structnameQnZb
test(structname, structname)
#
--format=dlang
_D3std11parallelism__T4TaskS8unittest3cmpTAyaTQeZQBb6__dtorMFNfZv
std.parallelism.Task!(unittest.cmp, immutable(char)[], immutable(char)[]).Task.~this()
#
--format=dlang
_D13testexpansion44__T1sTS13testexpansion8__T1sTiZ1sFiZ6ResultZ1sFS13testexpansion8__T1sTiZ1sFiZ6ResultZ6Result3fooMFNaNfZv
testexpansion.s!(testexpansion.s!(int).s(int).Result).s(testexpansion.s!(int).s(int).Result).Result.foo()
#
--format=dlang
_D13testexpansion__T1sTSQw__TQjTiZQoFiZ6ResultZQBbFQBcZQq3fooMFNaNfZv
testexpansion.s!(testexpansion.s!(int).s(int).Result).s(testexpansion.s!(int).s(int).Result).Result.foo()
#
--format=dlang
_D3std4conv__T7enumRepTyAaTEQBa12experimental9allocator15building_blocks15stats_collector7OptionsVQCti64ZQDnyQDh
std.conv.enumRep!(immutable(char[]), std.experimental.allocator.building_blocks.stats_collector.Options, 64).enumRep
#
--format=dlang
_D3std12experimental9allocator6common__T10reallocateTSQCaQBzQBo15building_blocks17kernighan_ritchie__T8KRRegionTSQEhQEgQDvQCh14null_allocator13NullAllocatorZQCdZQErFNaNbNiKQEpKAvmZb
std.experimental.allocator.common.reallocate!(std.experimental.allocator.building_blocks.kernighan_ritchie.KRRegion!(std.experimental.allocator.building_blocks.null_allocator.NullAllocator).KRRegion).reallocate(ref std.experimental.allocator.building_blocks.kernighan_ritchie.KRRegion!(std.experimental.allocator.building_blocks.null_allocator.NullAllocator).KRRegion, ref void[], ulong)
#
--format=dlang
_D3std9exception__T11doesPointToTASQBh5regex8internal2ir10NamedGroupTQBkTvZQCeFNaNbNiNeKxASQDlQCeQCbQBvQBvKxQtZb
std.exception.doesPointTo!(std.regex.internal.ir.NamedGroup[], std.regex.internal.ir.NamedGroup[], void).doesPointTo(ref const(std.regex.internal.ir.NamedGroup[]), ref const(std.regex.internal.ir.NamedGroup[]))
#
--format=dlang
_D3std9algorithm9iteration__T14SplitterResultS_DQBu3uni7isWhiteFNaNbNiNfwZbTAyaZQBz9__xtoHashFNbNeKxSQDvQDuQDn__TQDgS_DQEnQCtQCsQCnTQCeZQEdZm
std.algorithm.iteration.SplitterResult!(std.uni.isWhite(dchar), immutable(char)[]).SplitterResult.__xtoHash(ref const(std.algorithm.iteration.SplitterResult!(std.uni.isWhite, immutable(char)[]).SplitterResult))
#
--format=dlang
_D3std8typecons__T7TypedefTCQBaQz19__unittestL6513_208FNfZ7MyClassVQBonVAyanZQCh6__ctorMFNaNbNcNiNfQCuZSQDyQDx__TQDrTQDmVQDqnVQCcnZQEj
std.typecons.Typedef!(std.typecons.__unittestL6513_208().MyClass, null, null).Typedef.this(std.typecons.__unittestL6513_208().MyClass)
#
--format=dlang
_D3std6getopt__TQkTAyaTDFNaNbNiNfQoZvTQtTDQsZQBnFNfKAQBiQBlQBkQBrQyZSQCpQCo12GetoptResult
std.getopt.getopt!(immutable(char)[], void(immutable(char)[]) pure nothrow @nogc @safe delegate, immutable(char)[], void(immutable(char)[]) pure nothrow @nogc @safe delegate).getopt(ref immutable(char)[][], immutable(char)[], void(immutable(char)[]) pure nothrow @nogc @safe delegate, immutable(char)[], void(immutable(char)[]) pure nothrow @nogc @safe delegate)
#
--format=dlang
_D3std5regex8internal9kickstart__T7ShiftOrTaZQl11ShiftThread__T3setS_DQCqQCpQCmQCg__TQBzTaZQCfQBv10setInvMaskMFNaNbNiNfkkZvZQCjMFNaNfwZv
std.regex.internal.kickstart.ShiftOr!(char).ShiftOr.ShiftThread.set!(std.regex.internal.kickstart.ShiftOr!(char).ShiftOr.ShiftThread.setInvMask(uint, uint)).set(dchar)
#
--format=dlang
_D3std5stdio4File__T8lockImplX10LockFileExTykZQBaMFmmykZi
std.stdio.File.lockImpl!(LockFileEx, immutable(uint)).lockImpl(ulong, ulong, immutable(uint))
#
--format=dlang
_D3std9algorithm9iteration__T12FilterResultSQBq8typecons__T5TupleTiVAyaa1_61TiVQla1_62TiVQva1_63ZQBm__T6renameVHiQBtA2i0a1_63i2a1_61ZQBeMFNcZ9__lambda1TAiZQEw9__xtoHashFNbNeKxSQGsQGrQGk__TQGdSQHiQFs__TQFmTiVQFja1_61TiVQFua1_62TiVQGfa1_63ZQGx__TQFlVQFhA2i0a1_63i2a1_61ZQGjMFNcZQFfTQEyZQJvZm
std.algorithm.iteration.FilterResult!(std.typecons.Tuple!(int, "a", int, "b", int, "c").Tuple.rename!([0:"c", 2:"a"]).rename().__lambda1, int[]).FilterResult.__xtoHash(ref const(std.algorithm.iteration.FilterResult!(std.typecons.Tuple!(int, "a", int, "b", int, "c").Tuple.rename!([0:"c", 2:"a"]).rename().__lambda1, int[]).FilterResult))
#
--format=dlang
_D3std3uni__T6toCaseS_DQvQt12toLowerIndexFNaNbNiNewZtVii1043S_DQCjQCi10toLowerTabFNaNbNiNemZwSQDo5ascii7toLowerTAyaZQDzFNaNeQmZ14__foreachbody2MFNaNeKmKwZ14__foreachbody3MFNaNeKwZi
std.uni.toCase!(std.uni.toLowerIndex(dchar), 1043, std.uni.toLowerTab(ulong), std.ascii.toLower, immutable(char)[]).toCase(immutable(char)[]).__foreachbody2(ref ulong, ref dchar).__foreachbody3(ref dchar)
#
--format=dlang
_D8demangle4mainFZ1xi
demangle.main().x
#
--format=dlang
_D8demangle4mainFZ4__S11xi
demangle.main().x
#
--format=dlang
_D8demangle4mainFZ1fMFNaNbNiNfZv
demangle.main().f()
#
--format=dlang
_D8demangle4mainFZ4__S11fMFNaNbNiNfZv
demangle.main().f()
#
--format=dlang
_D3mod4funcFZ__T6nestedTiZQkMFNaNbNiNfZi
mod.func().nested!(int).nested()
#
--format=dlang
_D3mod4funcFZ__T6nestedTiZ4__S1QpMFNaNbNiNfZi
mod.func().nested!(int).nested()
#
--format=dlang
_D6mangle__T8fun21753VSQv6S21753S1f_DQBj10__lambda71MFNaNbNiNfZvZQCbQp
mangle.fun21753!(mangle.S21753(mangle.__lambda71())).fun21753
