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