Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Issue 22969 - Can't mixin name of manifest constant on right-hand side of alias declaration #13946

Merged
merged 1 commit into from Apr 5, 2022

Conversation

BorisCarvajal
Copy link
Member

Remove an unnecessary typeToExpression conversion call that forced mixin to
be resolved via expression semantic (expanding enum constants when it shouldn't).
This was a change I wanted to make some time ago but an early error somewhere
in the type semantic prevented me (fixed here).
Also a duplicated code in traits.d to handle mixins is removed (it was a copy
of typesem.d:compileTypeMixin function).

Regression caused by #10629

…side of alias declaration

Remove an unnecessary `typeToExpression` conversion call that forced `mixin` to
be resolved via expression semantic (expanding enum constants when it shouldn't).
This was a change I wanted to make some time ago but an early error somewhere
in the type semantic prevented me (fixed here).
Also a duplicated code in `traits.d` to handle mixins is removed (it was a copy
of `typesem.d:compileTypeMixin` function).
@dlang-bot
Copy link
Contributor

Thanks for your pull request, @BorisCarvajal!

Bugzilla references

Auto-close Bugzilla Severity Description
22969 regression Can't mixin name of manifest constant on right-hand side of alias declaration

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 "stable + dmd#13946"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants