393 Commits

Author SHA1 Message Date
Manish Goregaokar
22cbdd4b89 Rollup merge of #30864 - jseyfried:no_record_exports, r=nrc 2016-01-15 17:28:29 +05:30
Jeffrey Seyfried
a353490e6f resolve: Remove record_exports, fixes #4953 2016-01-14 22:51:58 +00:00
Niko Matsakis
259379426c Revamp the "future incompatible" section to clarify the situation
better
2016-01-12 12:53:55 -05:00
Niko Matsakis
005fa14358 Annotate the compiler with information about what it is doing when. 2016-01-05 21:05:50 -05:00
Nick Cameron
95dc7efad0 use structured errors 2015-12-30 14:27:59 +13:00
Alex Crichton
cd1848a1a6 Register new snapshots
Lots of cruft to remove!
2015-12-21 09:26:21 -08:00
Vadim Petrochenkov
785cbe0200 Do not substitute type aliases during error reporting
Type aliases are still substituted when determining impl publicity
2015-12-18 20:57:36 +03:00
Vadim Petrochenkov
187c89a92a Address the comments 2015-12-18 04:14:46 +03:00
Vadim Petrochenkov
fcbd553f0f Substitute type aliases before checking for privacy 2015-12-18 04:14:46 +03:00
Vadim Petrochenkov
a745614f44 Use lint instead of warning 2015-12-18 04:14:46 +03:00
Vadim Petrochenkov
1a9239c964 Report errors not caught by the old visitor as warnings 2015-12-18 04:14:46 +03:00
Vadim Petrochenkov
a09246ad34 Approximate type aliases as public when determining impl publicity 2015-12-18 04:12:31 +03:00
Vadim Petrochenkov
f8ae31f601 Update error messages and error descriptions 2015-12-18 04:12:31 +03:00
Vadim Petrochenkov
f3f27a5c64 Rewrite VisiblePrivateTypesVisitor 2015-12-18 04:12:31 +03:00
Jeffrey Seyfried
8364a6feef Remove unused imports 2015-12-17 05:43:27 +00:00
Vadim Petrochenkov
be8ace8cac Remove all uses of #[staged_api] 2015-11-25 21:55:26 +03:00
Manish Goregaokar
352853c18b Register diagnostics for rustc_privacy and rustc_trans properly
fixes #29665
2015-11-22 10:26:22 +05:30
Vadim Petrochenkov
c1ad5af4a6 Changes to data produced by privacy pass 2015-11-19 14:16:35 +03:00
Niko Matsakis
98b046e16e Various straight-forward ports that override visit_nested_items
to do "in-situ" visits.
2015-11-18 19:23:29 -05:00
Vadim Petrochenkov
52acc05f63 Rework stability annotation pass 2015-11-18 01:24:20 +03:00
Oliver Schneider
e36872da5b ImplItem_ -> ImplItemKind rename 2015-11-16 10:35:30 +01:00
Oliver Schneider
eaaa60dbea rename ImplItem_::*ImplItem to ImplItem_::*
[breaking change]
2015-11-16 10:34:45 +01:00
Vadim Petrochenkov
41ccd44f76 Use exhaustive matching 2015-11-10 12:51:56 +03:00
Vadim Petrochenkov
ef6850643e rustc_privacy: Fix bugs in SanePrivacyVisitor 2015-11-09 21:15:53 +03:00
Vadim Petrochenkov
1d693976df EmbargoVisitor::reexports isn't needed 2015-11-05 18:42:48 +03:00
Vadim Petrochenkov
5092b09648 rustc_privacy: Do not export items needed solely for the reachability analysis
Process them in middle::reachable instead
Add tests for reachability of trait methods written in UFCS form
2015-11-05 18:17:33 +03:00
bors
e2bb53ca52 Auto merge of #29291 - petrochenkov:privacy, r=alexcrichton
The public set is expanded with trait items, impls and their items, foreign items, exported macros, variant fields, i.e. all the missing parts. Now it's a subset of the exported set.
This is needed for https://github.com/rust-lang/rust/pull/29083 because stability annotation pass uses the public set and all things listed above need to be annotated.
Rustdoc can now be migrated to the public set as well, I guess.

Exported set is now slightly more correct with regard to exported items in blocks - 1) blocks in foreign items are considered and 2) publicity is not inherited from the block's parent - if a function is public it doesn't mean structures defined in its body are public.

r? @alexcrichton or maybe someone else
2015-11-02 23:38:49 +00:00
Vadim Petrochenkov
ab7b3456d0 Parens + issue number + typo 2015-11-03 01:58:41 +03:00
Vadim Petrochenkov
3468b8d42c Remove PatWildMulti 2015-10-31 03:44:43 +03:00
Vadim Petrochenkov
61cbc84480 Make fields and macro defs exported 2015-10-29 21:54:55 +03:00
Niko Matsakis
19996d4cdf The source_did may not be local, so don't unwrap the
`as_local_node_id`, instead just compare against `Some(id)`.
Fixes #29161.
2015-10-28 15:38:09 -04:00
Vadim Petrochenkov
243a524d06 Fix for middle::reachable + better comments and tests
In `middle::reachable` mark default impl of a trait method as reachable if this trait method is used from inlinable code
2015-10-28 03:38:22 +03:00
Niko Matsakis
d0a84e0500 Add some debug printouts to librustc_privacy 2015-10-27 18:30:46 -04:00
Vadim Petrochenkov
8cef018d52 Comments and formatting 2015-10-27 21:56:48 +03:00
bors
95fb8d1c87 Auto merge of #29325 - alexcrichton:revert-trait-accessibility, r=nrc
These commits revert https://github.com/rust-lang/rust/pull/28504 and add a regression test pointed out by @petrochenkov, it's not immediately clear with the regression that the accessibility check should be removed, so for now preserve the behavior on stable by default.

r? @nrc
2015-10-27 01:04:14 +00:00
Alex Crichton
cb0ce69026 Revert "Remove unnecessary trait accessibility check."
This reverts commit f4f95eb3a9f2c3c38679db84aabbb7cdb46d2641.
2015-10-26 09:16:05 -07:00
Vadim Petrochenkov
e8ddbba2ed syntax/rustc_front: Simplify VariantData::fields
And use VariantData instead of P<VariantData> in Item_ and Variant_
2015-10-25 18:33:51 +03:00
Vadim Petrochenkov
599df16551 rustc_privacy: Expand public node set, build exported node set more correctly 2015-10-25 04:42:31 +03:00
Vadim Petrochenkov
46750d0409 Merge VariantData and VariantData_ 2015-10-13 15:19:27 +03:00
Vadim Petrochenkov
40aa09e4c9 Merge struct fields and struct kind 2015-10-13 15:19:25 +03:00
Vadim Petrochenkov
30af54dede Dict -> Struct, StructDef -> VariantData, def -> data 2015-10-13 15:19:24 +03:00
Vadim Petrochenkov
b404ded15b Fix failing privacy test 2015-10-13 15:19:21 +03:00
Vadim Petrochenkov
beda1f88a7 Provide span for visit_struct_def + remove some dead code 2015-10-13 15:19:19 +03:00
Vadim Petrochenkov
877c35e8a2 Remove now redundant NodeId from Variant 2015-10-13 15:19:18 +03:00
Vadim Petrochenkov
495566ee61 Decouple structure kinds from NodeIds 2015-10-13 15:19:17 +03:00
Niko Matsakis
3b1399df2d Make calling def_id on a DefSelfTy an error; the previous defids that
were returned, either the trait or the *self type itself*, were not
particularly representative of what the Def is (a type parameter).
Rewrite paths to handle this case specially, just as they handle the
primitive case specifically. This entire `def_id` codepath is kind of a
mess.
2015-10-01 10:37:19 -04:00
Niko Matsakis
5600c6282e move direct accesses of node to go through as_local_node_id, unless
they are being used as an opaque "position identifier"
2015-10-01 10:37:19 -04:00
Niko Matsakis
9ff4f57cd0 move job of creating local-def-ids to ast-map (with a few stragglers) 2015-10-01 10:28:28 -04:00
Ariel Ben-Yehuda
709ce9f96d kill the fake provided method stubs
this simplifies the code while reducing the size of libcore.rlib by
3.3 MiB (~1M of which is bloat a separate patch of mine removes
too), while reducing rustc memory usage on small crates by 18MiB.

This also simplifies the code considerably.
2015-10-01 00:14:56 +03:00
Vadim Petrochenkov
40ce80484c Remove random Idents outside of libsyntax 2015-09-23 20:04:49 +03:00