[Issue 13105] Stack overflow in Fibers running druntime unittests
https://issues.dlang.org/show_bug.cgi?id=13105 Rainer Schuetze changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 13105] Stack overflow in Fibers running druntime unittests
https://issues.dlang.org/show_bug.cgi?id=13105 --- Comment #3 from Rainer Schuetze --- > Is this still a problem? The affected tests are currently disabled because of issue 13821. If I enable them I don't see any problems, though my system might have changed in the meantime. > I also get a stack overflow with the fiber unittests for Win64 > if I create a druntime debug build and a collection runs from within > the fiber. The recursive calls for GC scanning are too deep then (50). This is gone aswell as the GC doesn't recurse anymore. > So how about increasing the default fiber stack size to 64kB - GUARD_PAGE That sounds good. If memory resources are low or you want a lot of fibers, multiple fibers could rather share the same 64k block, though. --
[Issue 2235] false unreachable statement in constructor (-w only, D1 only)
https://issues.dlang.org/show_bug.cgi?id=2235 Kenji Hara changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WONTFIX --- Comment #3 from Kenji Hara --- D1 is retired. --
[Issue 13531] Destructor attributes don't take member destructor attributes into account
https://issues.dlang.org/show_bug.cgi?id=13531 Kenji Hara changed: What|Removed |Added Keywords||diagnostic --
[Issue 13302] Inline ASM grammar is not left-associative
https://issues.dlang.org/show_bug.cgi?id=13302 --- Comment #2 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/dlang.org https://github.com/D-Programming-Language/dlang.org/commit/a6f09a274afc0698d3ef033f1343a248b0ec1367 Issue 13302 - Inline ASM grammar is not left-associative https://github.com/D-Programming-Language/dlang.org/commit/cc6362dd9e618d880a2c6486dbe6fa4c2bc3c992 Merge pull request #859 from Hackerpilot/issue-13302 Issue 13302 - Inline ASM grammar is not left-associative --
[Issue 13327] Specification of anonymous enum with one member is missed
https://issues.dlang.org/show_bug.cgi?id=13327 --- Comment #4 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/dlang.org https://github.com/D-Programming-Language/dlang.org/commit/a44766a7e3515f16a77a8a0beba067c70c9a6ce6 Issue 13327 - Clarify manifest constant grammar https://github.com/D-Programming-Language/dlang.org/commit/72efc23e7b05b56fb31ef0b066e9cebed5d35af4 Merge pull request #858 from Hackerpilot/issue-13327 Issue 13327 - Clarify manifest constant grammar --
[Issue 14786] New: The built-in exponentiation operator ^^ sometimes returns a value with the wrong sign.
https://issues.dlang.org/show_bug.cgi?id=14786 Issue ID: 14786 Summary: The built-in exponentiation operator ^^ sometimes returns a value with the wrong sign. Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: minor Priority: P1 Component: druntime Assignee: nob...@puremagic.com Reporter: thomas.bock...@gmail.com Negative one raised to any odd power should yield negative one. However, when using 80-bit real arithmetic, -1 raised to a power greater than 2^^63 and less than 2^^64 yields +1. This is despite the fact that integers in this range can still (just barely) be represented without loss of precision by an 80-bit real; even and odd can still be distinguished. ** Test case that currently fails ** void main(string[] args) { real b = -1; real e = long.max; e += 2; assert(e % 2 == 1); real r = b ^^ e; assert(r == 1); // Passes, but shouldn't assert(r == -1); // Fails, but shouldn't e = ulong.max; assert(e % 2 == 1); r = b ^^ e; assert(r == 1); // Passes, but shouldn't assert(r == -1); // Fails, but shouldn't } I have marked this as a D runtime issue since it fails with all of DMD, GDC, and LDC. However, I couldn't actually find where the ^^ is defined in my quick search, so I don't know what the fix should look like. I suppose it might even be a hardware errata in my FPU (Xeon E3-1225 v3)... --
[Issue 14785] New: Some corner cases are not handled properly by core.checkedint.
https://issues.dlang.org/show_bug.cgi?id=14785 Issue ID: 14785 Summary: Some corner cases are not handled properly by core.checkedint. Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P1 Component: druntime Assignee: nob...@puremagic.com Reporter: thomas.bock...@gmail.com ** Test cases that currently fail ** import core.checkedint; void main(string[] args) { bool overflow = false; assert(subs(-1L, long.min, overflow) == long.max); assert(!overflow); // Assertion failure overflow = false; assert(muls(-1L, long.min, overflow) == long.min); // FPE assert(overflow); } ** Proposed fix ** long subs(long x, long y, ref bool overflow) { long r = cast(ulong)x - cast(ulong)y; if (x < 0 && y >= 0 && r >= 0 || x >= 0 && y < 0 && (r < 0 || y == long.min)) overflow = true; return r; } long muls(long x, long y, ref bool overflow) { long r = cast(ulong)x * cast(ulong)y; enum not0or1 = ~1L; if((x & not0or1) && ((r == y)? r : (r / x) != y)) overflow = true; return r; } --
[Issue 14529] Bug in Regex case insensitive match
https://issues.dlang.org/show_bug.cgi?id=14529 David Soria Parra changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --
[Issue 14767] Support CTFE of BigInt
https://issues.dlang.org/show_bug.cgi?id=14767 --- Comment #3 from Paul D. Anderson --- I changed the hardware setting from x86_64 to x86. Paul --
[Issue 14767] Support CTFE of BigInt
https://issues.dlang.org/show_bug.cgi?id=14767 Paul D. Anderson changed: What|Removed |Added Hardware|x86_64 |x86 --- Comment #2 from Paul D. Anderson --- Could we add a version or a compiler flag that would force use the .biguintnoasm version for the x86 also? That seems like an innocuous change that could be easily implemented. Paul --
[Issue 14522] Postfix array declaration examples should be removed from arrays.html
https://issues.dlang.org/show_bug.cgi?id=14522 --- Comment #3 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/dlang.org https://github.com/D-Programming-Language/dlang.org/commit/2403104de1b2249ebddacf11e3a988c5b5ed77d0 Fix issue 14522 https://github.com/D-Programming-Language/dlang.org/commit/5b0cb31a064d8c705f774421e7248d12db9b3f80 Merge pull request #985 from nomad-software/issue_14522 Issue 14522 - Postfix array declaration examples should be removed from arrays.html --
[Issue 14522] Postfix array declaration examples should be removed from arrays.html
https://issues.dlang.org/show_bug.cgi?id=14522 github-bugzi...@puremagic.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 14579] [SPEC] No specification on modifiers in TypeDelegate symbols
https://issues.dlang.org/show_bug.cgi?id=14579 --- Comment #3 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/dlang.org https://github.com/D-Programming-Language/dlang.org/commit/5cf9d84051e3e6537392985a5bddeef8d804dc62 fix Issue 14579 - [SPEC] No specification on modifiers in TypeDelegate symbols https://github.com/D-Programming-Language/dlang.org/commit/0995b3119457a6ac410d2cd8c45f9317fd4201a7 Merge pull request #996 from 9rnsr/fix14579 Issue 14579 - [SPEC] No specification on modifiers in TypeDelegate symbols --
[Issue 14579] [SPEC] No specification on modifiers in TypeDelegate symbols
https://issues.dlang.org/show_bug.cgi?id=14579 github-bugzi...@puremagic.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 12072] Regex article needs update
https://issues.dlang.org/show_bug.cgi?id=12072 --- Comment #2 from github-bugzi...@puremagic.com --- Commit pushed to master at https://github.com/D-Programming-Language/dlang.org https://github.com/D-Programming-Language/dlang.org/commit/36d532bc55d67dc50b7b6a65a08da6739e471c03 Fix issue 12072 ; act on the review feedback --
[Issue 12072] Regex article needs update
https://issues.dlang.org/show_bug.cgi?id=12072 github-bugzi...@puremagic.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 14784] New: Variant and Proxy don't get along
https://issues.dlang.org/show_bug.cgi?id=14784 Issue ID: 14784 Summary: Variant and Proxy don't get along Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P1 Component: phobos Assignee: nob...@puremagic.com Reporter: r...@rcorre.net Created attachment 1530 --> https://issues.dlang.org/attachment.cgi?id=1530&action=edit Test case for using Variant and Proxy If a struct forwards access to a member via Proxy, assignment to a Variant fails: - import std.typecons, std.variant; struct Foo { int f; } struct Bar { private Foo foo; mixin Proxy!foo; int b; } unittest { Bar b; Variant v = b; } - /usr/include/dlang/dmd/std/typecons.d(4432): Error: e2ir: cannot cast this.foo of type Foo to type string Using `alias this` instead of Proxy alleviates the issue (but I must make foo non-private for alias this, hence my desire to use Proxy). --
[Issue 14783] New: Overlapping Arrays with Binary Operations on Itself
https://issues.dlang.org/show_bug.cgi?id=14783 Issue ID: 14783 Summary: Overlapping Arrays with Binary Operations on Itself Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: john.michael.h...@gmail.com The code below will not compile (on DMD 2.067.1) due to an overlapping array error. void main() { int[] x = [0, 1, 2]; x[] *= x[]; } Neither will it compile with x[] += x[];. Normally an overlapping error is when you try to do something like x[1..$] *= x[0..$-1]; However, in this case, there is exact matching. The compiler should be able to detect when it is a case like this and handle it appropriately. Original discussion here: http://forum.dlang.org/thread/xplooifwemzdtyigc...@forum.dlang.org --
[Issue 14782] New: Internal error: backend/cod1.c
https://issues.dlang.org/show_bug.cgi?id=14782 Issue ID: 14782 Summary: Internal error: backend/cod1.c Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: yazan.dab...@gmail.com struct Foo { void* a; int b; } int fun() { return 0; } auto process(fun...)() { Foo[fun.length] a; return a; } void main() { Foo[1] output = process!fun(); } -- Compiling the above using dmd 2.067.1 produces: `Internal error: backend/cod1.c 1713` Compiling using dmd 2.068.0-b1 produces: `Internal error: backend/cod1.c 1711` No flags are necessary to reproduce. --
[Issue 14771] Hidden @nogc violation around closure creation
https://issues.dlang.org/show_bug.cgi?id=14771 --- Comment #1 from Kenji Hara --- Issue 5730 is also related with the closure handling timing. --
[Issue 5730] __traits(compiles) does not handle "variable has scoped destruction, cannot build closure" error correctly
https://issues.dlang.org/show_bug.cgi?id=5730 Kenji Hara changed: What|Removed |Added Hardware|Other |All OS|Linux |All --- Comment #5 from Kenji Hara --- (In reply to Max Samukha from comment #2) > No, no. The bug is not about the impossibility to build a closure. It is > about __traits(compiles) not handling the compilation error properly. It > should suppress the error and evaluate to false. Today, a delegate literal in __traits(compiles) does not make the outer function closure, because the delegate is just a thing only in compile time. I'd provide better example code: struct S { ~this() {} } void main() { enum r = __traits(compiles, { auto madeClosure() { S s; auto dg = { auto s1 = s; }; return dg; } }); static assert(!r); // line 1 } The madeClosure function will be made a closure, because the dg that refers local variable s will escape from that. Then the "has scoped destruction..." error needs to be captured by the __traits(compile) and r should be false. --
[Issue 14781] impure delegate to pure function context should be able to modify context
https://issues.dlang.org/show_bug.cgi?id=14781 --- Comment #1 from Kenji Hara --- Thanks. --
[Issue 7516] Postblit not called for structs returned from a ternary operator
https://issues.dlang.org/show_bug.cgi?id=7516 Kenji Hara changed: What|Removed |Added Keywords||pull --- Comment #6 from Kenji Hara --- https://github.com/D-Programming-Language/dmd/pull/4805 --
[Issue 9148] 'pure' is broken
https://issues.dlang.org/show_bug.cgi?id=9148 --- Comment #22 from Steven Schveighoffer --- (In reply to Kenji Hara from comment #21) > Oh, it sounds very reasonable. Could you please open a new issue to fix the > current unnecessarily tight behavior? https://issues.dlang.org/show_bug.cgi?id=14781 --
[Issue 14781] New: impure delegate to pure function context should be able to modify context
https://issues.dlang.org/show_bug.cgi?id=14781 Issue ID: 14781 Summary: impure delegate to pure function context should be able to modify context Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: schvei...@yahoo.com In a followup to issue 9148, which made this illegal: int impureFuncCall() { static int g; return g; } auto foo(out int delegate() pure pureDg) pure { int x; auto bar()() { impureFuncCall(); x = 1; // Error: impure function 'bar' cannot access variable 'x' // declared in enclosing pure function 'foo' } pureDg = &(bar!()); int dg() pure { return x;} return &dg; } This should be allowed. This doesn't violate purity of the returned delegate because the context pointer is mutable -- it's weak pure. This is similar to how a class can have pure and impure functions both accessing the same data. --
[Issue 14780] Non-intuitive behavior for pointers to aggregates defining opSlice
https://issues.dlang.org/show_bug.cgi?id=14780 Steven Schveighoffer changed: What|Removed |Added Status|NEW |RESOLVED CC||schvei...@yahoo.com Resolution|--- |INVALID --- Comment #2 from Steven Schveighoffer --- Yeah, this definitely isn't valid. You need a wrapper around the pointer to properly forward. --
[Issue 9148] 'pure' is broken
https://issues.dlang.org/show_bug.cgi?id=9148 --- Comment #21 from Kenji Hara --- > It's not that much different from a class with two > member functions, one pure and one not pure. Oh, it sounds very reasonable. Could you please open a new issue to fix the current unnecessarily tight behavior? --
[Issue 14780] Non-intuitive behavior for pointers to aggregates defining opSlice
https://issues.dlang.org/show_bug.cgi?id=14780 ag0ae...@gmail.com changed: What|Removed |Added CC||ag0ae...@gmail.com --- Comment #1 from ag0ae...@gmail.com --- Currently, operator overloads don't go through pointers. I.e., this isn't unique to opSlice. Only letting opSlice go through pointers would be silly, in my opinion. Doing it for all operators would be quite a change and should be well thought out. --
[Issue 14746] [REG2.068a] Behavior change with struct destructor and alias this
https://issues.dlang.org/show_bug.cgi?id=14746 --- Comment #6 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/1a2290b1c36f8cdf66a9c4ce388b6a4b38ff9735 fix Issue 14746 - Behavior change with struct destructor and alias this https://github.com/D-Programming-Language/druntime/commit/2f087248923ad77014259a52695f3abda076c206 Merge pull request #1312 from 9rnsr/fix14746 https://github.com/D-Programming-Language/druntime/commit/c8518f5b62ae501ea740bc1b1996230c9927c70f fix Issue 14746 for postblitRecurse as well https://github.com/D-Programming-Language/druntime/commit/e0f2ca65b719fcc94dbd484bb9a8a0fe219ef806 Merge pull request #1313 from MartinNowak/fix14746 --
[Issue 14178] C++ linux name mangling does not handle standard abbreviations for const types
https://issues.dlang.org/show_bug.cgi?id=14178 --- Comment #5 from Guillaume Chatelet --- I expect it to take quite some time for me to have it right. This might be worth submitting you fix meanwhile. --
[Issue 14778] ddoc doesnt generate code for enum in template struct
https://issues.dlang.org/show_bug.cgi?id=14778 Kenji Hara changed: What|Removed |Added Keywords||ddoc, pull Hardware|x86_64 |All OS|Linux |All --- Comment #1 from Kenji Hara --- https://github.com/D-Programming-Language/dmd/pull/4802 --
[Issue 788] Compiler rejects hex floats in the format: HexPrefix HexDigits . HexDigits(opt) with binary-exponent-part required
https://issues.dlang.org/show_bug.cgi?id=788 --- Comment #4 from github-bugzi...@puremagic.com --- Commit pushed to master at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/fda62efe0f526e8272dfcc47a4cc7c68f5419569 Ignore real pad in core.internal.convert unittest Change unittest to ignore any pad bytes in a floating point type because those bits are undefined. Fixes test part of ldc issue #788. --
[Issue 14178] C++ linux name mangling does not handle standard abbreviations for const types
https://issues.dlang.org/show_bug.cgi?id=14178 --- Comment #4 from David Soria Parra --- I have a hacky implementation for that particular issue, but if you rewritting the mangeling code it might hold off. --
[Issue 14588] [REG2.067] undefined reference error while linking with -debug option to a static library.
https://issues.dlang.org/show_bug.cgi?id=14588 --- Comment #6 from github-bugzi...@puremagic.com --- Commit pushed to stable at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/f67af18cd4f4c69eff63a72618e7ba5cc031753d Merge pull request #4787 from 9rnsr/fix14588 [REG2.067] Issue 14588 - undefined reference error while linking with -debug option to a static library --
[Issue 14754] [REG2.068b1] 64bit wrong code with -inline
https://issues.dlang.org/show_bug.cgi?id=14754 --- Comment #5 from github-bugzi...@puremagic.com --- Commit pushed to stable at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/22e27f5d84dc39d005106303986d91525e2834bf Merge pull request #4795 from 9rnsr/fix14754 [REG2.068b1] Issue 14754 - 64bit wrong code with -inline --
[Issue 14753] pragma(inline) hides the alias "string"
https://issues.dlang.org/show_bug.cgi?id=14753 --- Comment #3 from github-bugzi...@puremagic.com --- Commit pushed to stable at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/cbab6d6303783a22ee65a5a1e777a50d038133fa Merge pull request #4793 from 9rnsr/fix14753 Issue 14753 - pragma(inline) hides the alias "string" --
[Issue 14779] incorrect addressing of arguments in require/in-contract
https://issues.dlang.org/show_bug.cgi?id=14779 Kenji Hara changed: What|Removed |Added Keywords||pull Hardware|x86_64 |All OS|Linux |All --- Comment #2 from Kenji Hara --- https://github.com/D-Programming-Language/dmd/pull/4803 --
[Issue 14178] C++ linux name mangling does not handle standard abbreviations for const types
https://issues.dlang.org/show_bug.cgi?id=14178 --- Comment #3 from Guillaume Chatelet --- Many things are broken with the current implementation : template substitutions, abbreviations. I'm rewriting the mangling code but it's quite complicated. The test suite is pretty incomplete too, this is the first thing I want to fix. --
[Issue 14178] C++ linux name mangling does not handle standard abbreviations for const types
https://issues.dlang.org/show_bug.cgi?id=14178 David Soria Parra changed: What|Removed |Added CC||d...@experimentalworks.net --- Comment #2 from David Soria Parra --- I think we aren't handling the optional CV-qualifier [0] correctly. [0] http://mentorembedded.github.io/cxx-abi/abi.html#mangle.type --
[Issue 14750] druntime/test/coverage was added to druntime, but not to the MANIFEST - zip file broken again
https://issues.dlang.org/show_bug.cgi?id=14750 --- Comment #6 from Martin Nowak --- (In reply to Walter Bright from comment #5) > It fails because the files necessary are not there. What's the point of > having a MANIFEST if it is only a subset of the manifest? Exactly, let's delete MANIFEST. The question is why you need it or the zip rule. We could replace the rule with git archive --format=zip HEAD > druntime.zip or zip druntime.zip $(git ls-files) depending on whether or not modified working dir files should end up in the zip. --
[Issue 14780] New: Non-intuitive behavior for pointers to aggregates defining opSlice
https://issues.dlang.org/show_bug.cgi?id=14780 Issue ID: 14780 Summary: Non-intuitive behavior for pointers to aggregates defining opSlice Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: briancsch...@gmail.com ``` struct HasOpSlice { int opSlice() { return 10; } } void main() { HasOpSlice* pointer; int i = pointer[]; } ``` test.d(9): Error: need upper and lower bound to slice pointer I'd like for this to Just Work(tm). I don't have any good ideas for how to make this behave consistently in the case that there's an opSlice that takes two arguments. --
[Issue 14779] incorrect addressing of arguments in require/in-contract
https://issues.dlang.org/show_bug.cgi?id=14779 --- Comment #1 from Kenji Hara --- Introduced in: https://github.com/D-Programming-Language/dmd/pull/4788 And, I found a long-standing wrong-code issue with out-contract, which the root issue would be same with. class Foo { final @property void value(int val) //in { assert(val == 0); } out { assert(val == 0); } // assertion fails body { } } void main() { auto foo = new Foo(); foo.value = 0; } --
[Issue 9133] std.datetime: Cannot implicitly convert const(SysTime) to SysTime
https://issues.dlang.org/show_bug.cgi?id=9133 Jonathan M Davis changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Jonathan M Davis --- I don't know when this was fixed, but it works with the current dmd master. --
[Issue 13105] Stack overflow in Fibers running druntime unittests
https://issues.dlang.org/show_bug.cgi?id=13105 --- Comment #2 from Martin Nowak --- Is this still a problem? --
[Issue 14779] New: incorrect addressing of arguments in require/in-contract
https://issues.dlang.org/show_bug.cgi?id=14779 Issue ID: 14779 Summary: incorrect addressing of arguments in require/in-contract Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Keywords: wrong-code Severity: regression Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: c...@dawg.eu cat > bug.d << CODE class Foo { final @property void value(int val) in { assert(val == 0); } body { } } void main() { auto foo = new Foo(); foo.value = 0; } CODE dmd -run bug core.exception.AssertError@bug.d(6): Assertion failure Seems like the addressing the require function (in contract) is wrong. This only affects master, not 2.068.0-b1. Old ASM: mov qword ptr [rbp-10H], rdi; 0008 _ 48: 89. 7D, F0 mov dword ptr [rbp-8H], esi ; 000C _ 89. 75, F8 lea rdi, [rbp-10H] ; 000F _ 48: 8D. 7D, F0 call_D3bug3Foo5valueMFNdiZ9__requireMFZv; 0013 _ E8, (rel) _D3bug3Foo5valueMFNdiZ9__requireMFZv PROC pushrbp ; _ 55 mov rbp, rsp; 0001 _ 48: 8B. EC sub rsp, 16 ; 0004 _ 48: 83. EC, 10 cmp dword ptr [rdi+8H], 0 ; 0008 _ 83. 7F, 08, 00 New ASM: mov qword ptr [rbp-10H], rdi; 0008 _ 48: 89. 7D, F0 mov dword ptr [rbp-8H], esi ; 000C _ 89. 75, F8 call_D3bug3Foo5valueMFNdiZ9__requireMFZv; 000F _ E8, (rel) _D3bug3Foo5valueMFNdiZ9__requireMFZv PROC pushrbp ; _ 55 mov rbp, rsp; 0001 _ 48: 8B. EC sub rsp, 16 ; 0004 _ 48: 83. EC, 10 mov qword ptr [rbp-8H], rdi ; 0008 _ 48: 89. 7D, F8 cmp dword ptr [rbp], 0 ; 000C _ 83. 7D, 00, 00 --