Skip to content

Remove orphaned std.regex.internal.shiftor#5244

Merged
JackStouffer merged 1 commit intodlang:stablefrom
kinke:stable
Mar 14, 2017
Merged

Remove orphaned std.regex.internal.shiftor#5244
JackStouffer merged 1 commit intodlang:stablefrom
kinke:stable

Conversation

@kinke
Copy link
Contributor

@kinke kinke commented Mar 5, 2017

I don't know why this seems to work for DMD. LDC failed to compile the unittests for this module.

Firstly, alias std.regex.internal.kickstart.Kickstart = std.regex.internal.kickstart.ShiftOr wasn't found. That seems okay, as std.regex.internal.kickstart is only imported locally in a struct in imported std.regex.internal.ir.

When working around that, LDC complained that class std.regex.internal.shiftor.ShiftOr can't derive from struct std.regex.internal.kickstart.ShiftOr.

When fixing that by not deriving from anything (there was a std.regex.internal.ir.Kickstart interface before 5a2491a), further compile errors arised as one can't foreach over a CodepointSet directly. I patched the problematic sites via copying code from the almost identical struct Kickstart in module kickstart, so that it now really works (for LDC at least).

@kinke
Copy link
Contributor Author

kinke commented Mar 5, 2017

auto-tester and DAutoTest seem to reuse the cached results for the same commit wrongly targeting branch master (#5243)...

@DmitryOlshansky
Copy link
Member

When working around that, LDC complained that class std.regex.internal.shiftor.ShiftOr can't derive from struct std.regex.internal.kickstart.ShiftOr.

This seems scary. It smells like botched merge but I astonished it doesn't cause any problems so far.

@kinke
Copy link
Contributor Author

kinke commented Mar 5, 2017

astonished it doesn't cause any problems so far

The shiftor module is missing in the Phobos makefile. LDC doesn't use the makefile. So shiftor should probably have been removed as part of 5a2491a (it's the only extra module, I checked).

@dnadlinger
Copy link
Contributor

So it seems like the fix for stable is just to remove the module from the tree entirely?

@kinke
Copy link
Contributor Author

kinke commented Mar 6, 2017

It really appears to be an accidental remainder from the reverted regex overhaul (?); the shiftor module (apparently providing a pure ShiftOr variant) wasn't there in 2.072.2.

Apparently a leftover from dlang/phobos@5a2491a. Not included in the
makefile and not compilable either.
@kinke kinke changed the title Fix std.regex.internal.shiftor Remove orphaned std.regex.internal.shiftor Mar 6, 2017
@kinke
Copy link
Contributor Author

kinke commented Mar 7, 2017

(File removed. CI problems should be unrelated.)

@dnadlinger
Copy link
Contributor

Auto-merge toggled on

@dnadlinger
Copy link
Contributor

@MartinNowak: FYI – shouldn't have any impact on coming point releases, though, as the file wasn't listed in the dlang/phobos makefiles in the first place.

@JackStouffer
Copy link
Contributor

@kinke The doc builder error is an error that was fixed here dlang/dlang.org#1568

I don't know why it's manifesting again.

@kinke
Copy link
Contributor Author

kinke commented Mar 14, 2017

Somebody please retrigger CircleCI manually, I can't...

@dnadlinger
Copy link
Contributor

Rebuild started.

@JackStouffer
Copy link
Contributor

Yeah, it's some weird error on circle. CC @wilzbach

@JackStouffer
Copy link
Contributor

Auto-merge toggled off

@JackStouffer
Copy link
Contributor

Auto-merge toggled on

@JackStouffer JackStouffer merged commit 86da122 into dlang:stable Mar 14, 2017
@kinke kinke deleted the stable branch March 14, 2017 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants