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

Resurrect old notes around class modifiers. #14

Merged
merged 1 commit into from
Aug 16, 2018
Merged

Conversation

munificent
Copy link
Member

Leaf mentioned that it might be useful to bring these notes back from the old evolution repo, so here they are. I didn't commit them directly because I wasn't sure if this was where you wanted and I wanted to make sure that Erik was OK with me putting his words out there.

What do you think?

Copy link
Member

@leafpetersen leafpetersen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@leafpetersen
Copy link
Member

Pending agreement from @eernstg and @lrhn of course.

@yjbanov
Copy link

yjbanov commented Aug 16, 2018

What a fantastic document! Creates a solid framework for thinking about class capabilities. However, I couldn't tell what the resolution is for the "can extend + can implement + private methods" issue. If I have control over my class' capabilities, then the compiler should flag the case when my class allows implements but makes it impossible to actually implement it due to private methods accessed from outside the class.

@eernstg
Copy link
Member

eernstg commented Aug 16, 2018

LGTM!

@lrhn
Copy link
Member

lrhn commented Aug 16, 2018

I'm split on whether I'd prefer this as an issue to encourage discussion, instead of a dead document that is stored by itself.

Discuss! :)

@munificent
Copy link
Member Author

If I have control over my class' capabilities, then the compiler should flag the case when my class allows implements but makes it impossible to actually implement it due to private methods accessed from outside the class.

Ah, that's interesting. It would be nice for the tools to give better guidance here.

I'm split on whether I'd prefer this as an issue to encourage discussion, instead of a dead document that is stored by itself.

I'm going to go ahead and land it if that's OK. I think it's a non-goal to start a live discussion on this because, as far as I know, we aren't currently planning to take action on it. When/if we do, we can start a thread then and point to the doc.

@munificent munificent merged commit 49656e0 into master Aug 16, 2018
@munificent munificent deleted the class-capabilities branch August 16, 2018 17: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.

5 participants