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

Using alias-imported types for fields might cause naming collisions #11

Open
duselbaer opened this Issue May 9, 2017 · 2 comments

Comments

Projects
None yet
2 participants
@duselbaer
Contributor

duselbaer commented May 9, 2017

When using two different types with the same name (one of them imported as an alias) inside a class breaks compilation:

import accessors;
import person : PersonId;
import another : AnotherPersonId = PersonId;

class Foo
{
    @ConstRead
    private PersonId personId_;

    @ConstRead
    private AnotherPersonId anotherPersonId_;

    mixin(GenerateFieldAccessors);
}

Error: cannot implicitly convert expression (this.anotherPersonId_) of type const(PersonId) to const(PersonId)

@belka-ew

This comment has been minimized.

Show comment
Hide comment
@belka-ew

belka-ew Oct 20, 2017

Contributor

Still doesn't work for @Write.

Contributor

belka-ew commented Oct 20, 2017

Still doesn't work for @Write.

@belka-ew belka-ew reopened this Oct 20, 2017

@belka-ew

This comment has been minimized.

Show comment
Hide comment
@belka-ew

belka-ew Oct 23, 2017

Contributor

Test case:

import accessors;
import person : PersonId;
import another : AnotherPersonId = PersonId;

class PersonId
{
}

class WriteAttrTest
{
    @Write
    private PersonId personId_;

    @Write
    private AnotherPersonId anotherPersonId_;

    mixin(GenerateFieldAccessors);
}
Error: cannot implicitly convert expression anotherPersonId of type main.PersonId to PersonId.PersonId
Contributor

belka-ew commented Oct 23, 2017

Test case:

import accessors;
import person : PersonId;
import another : AnotherPersonId = PersonId;

class PersonId
{
}

class WriteAttrTest
{
    @Write
    private PersonId personId_;

    @Write
    private AnotherPersonId anotherPersonId_;

    mixin(GenerateFieldAccessors);
}
Error: cannot implicitly convert expression anotherPersonId of type main.PersonId to PersonId.PersonId

@belka-ew belka-ew added the bug label Oct 23, 2017

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