# 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
_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(none)
#
--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)
#
# 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
_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)
