Skip to content

3rd attempt to make Bsucc an array#23209

Merged
thewilsonator merged 1 commit into
dlang:masterfrom
WalterBright:BsuccA
Jun 10, 2026
Merged

3rd attempt to make Bsucc an array#23209
thewilsonator merged 1 commit into
dlang:masterfrom
WalterBright:BsuccA

Conversation

@WalterBright

Copy link
Copy Markdown
Member

This time I'm trying both the array and the linked list at the same time. Do not pull.

@WalterBright WalterBright added Severity:Refactoring No semantic changes to code Compiler:Backend glue code, optimizer, code generation WIP labels Jun 2, 2026
@dlang-bot

Copy link
Copy Markdown

Thanks for your pull request, @WalterBright!

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#23209"

@WalterBright

Copy link
Copy Markdown
Member Author

It's been a while since I've had such a frustrating bug hunt.

@thewilsonator

Copy link
Copy Markdown
Contributor

Do not pull.

Use draft PRs for that.

@thewilsonator thewilsonator marked this pull request as draft June 2, 2026 03:26
@WalterBright WalterBright force-pushed the BsuccA branch 22 times, most recently from dbad3f9 to e1bf45e Compare June 3, 2026 22:29
@WalterBright WalterBright force-pushed the BsuccA branch 21 times, most recently from e6e8ae5 to 9988203 Compare June 5, 2026 06:07
@WalterBright

Copy link
Copy Markdown
Member Author

Finally got this to work. It was quite a mess.

@WalterBright

Copy link
Copy Markdown
Member Author

@thewilsonator ready to merge

@Herringway

Copy link
Copy Markdown
Contributor

Out of curiousity, why did this PR involve so many force pushes? Were you unable to test the changes locally?

@WalterBright

Copy link
Copy Markdown
Member Author

The problem was I didn't have much to duplicate the problems locally, so I used the test suite. It takes about an hour to run it through. The next problem is the test suite normally gives me just a pass/fail and not much else. So I do a binary search to find the problem, which can take a lot of iterations. Sometimes it would fail bootstrapping the compiler, sometimes compiling the library. Sometimes I did not find all the places where the list was used in the compiler.

It was also clumsy to have both the list and the array active at the same time.

Any how, I'm glad to be rid of the list. The code is much easier to read now.

@dkorpel

dkorpel commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

The problem was I didn't have much to duplicate the problems locally, so I used the test suite

You can run the test suite locally, it's documented in compiler/test/README.md. I can assist you if you need help.

Sometimes it would fail bootstrapping the compiler, sometimes compiling the library.

I'm working on that: #23213

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Compiler:Backend glue code, optimizer, code generation Severity:Refactoring No semantic changes to code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants