Integrate privacy into field and method selection#31938
Integrate privacy into field and method selection#31938bors merged 7 commits intorust-lang:masterfrom
Conversation
9be5455 to
5d2e258
Compare
|
On Sat, Feb 27, 2016 at 01:23:08AM -0800, Jeffrey Seyfried wrote: you're on a roll! Just FYI I sat down over last few days to read over |
|
@nikomatsakis Ok, let me know if you'd like me to explain or comment anything! |
2f835d1 to
12a209b
Compare
|
Fixes #22684 |
|
@jseyfried you need to put that in the description. |
|
@eddyb I updated the description. |
4f16e1c to
6166bd7
Compare
|
I rebased and added a commit that refactors away most of the privacy visitor. |
3ae768d to
f2c3d11
Compare
|
☔ The latest upstream changes (presumably #32432) made this pull request unmergeable. Please resolve the merge conflicts. |
f2c3d11 to
228fd48
Compare
|
@jseyfried can you add some tests that show that the logic about private fields/methods is working? I was thinking it'd be nice to have a test where the private field appears in an outer deref. In other words, if the autoderef chain of types is r=me with such a test. |
There was a problem hiding this comment.
can you convert this to a run-pass test and somehow check the return value of f, so that we know the right function is being called?
|
Sorry, let me clarify my previous comment. I'd like to see two things:
|
228fd48 to
67b39f8
Compare
67b39f8 to
48c20b0
Compare
Done.
Private inherent methods are tested in I believe these tests are sufficient to check the logic you referenced, but if you want I can add a |
|
@jseyfried I'll leave it to your judgement. I certainly lean towards more exhaustive testing but there is no reason to add duplicate tests either. R=me either way. |
|
Ok, thanks for reviewing! @bors r=nikomatsakis |
|
📌 Commit 48c20b0 has been approved by |
|
⌛ Testing commit 48c20b0 with merge 4f46ecb... |
|
💔 Test failed - auto-mac-32-opt |
|
@bors retry |
|
@bors: retry force clean |
|
@bors: retry force clean maybe second time's the charm? |
|
⌛ Testing commit 48c20b0 with merge 3399d19... |
This PR integrates privacy checking into field and method selection so that an inaccessible field/method cannot stop an accessible field/method from being used (fixes #12808 and fixes #22684).
r? @eddyb