Aaron Hill
369faaeaff
Cleanup unecessary code
2019-02-01 09:43:57 -05:00
Aaron Hill
24f3595c02
Remove unnecessary is_local() check
2019-02-01 09:43:57 -05:00
Aaron Hill
48ec29d38e
Replace --extern-public with --extern-private
2019-02-01 09:43:57 -05:00
Aaron Hill
45486cce2c
Tidy fixes
2019-02-01 09:43:57 -05:00
Aaron Hill
fe15f7177f
Move --extern-public behind -Z unstable-options
2019-02-01 09:43:57 -05:00
Aaron Hill
3fa36471e8
Rename external_private_dependency to exported_private_dependencies
2019-02-01 09:43:56 -05:00
Aaron Hill
dfd2669667
Delete dead code
2019-02-01 09:43:56 -05:00
Aaron Hill
d60214cdf7
Clippy fixes, rename stuff to match RFC
2019-02-01 09:43:56 -05:00
Aaron Hill
afb1921c79
Fixup code
2019-02-01 09:43:55 -05:00
Aaron Hill
09ff0bacef
Fix emitting lint
2019-02-01 09:43:55 -05:00
Aaron Hill
8b6f3ddf23
Initial implementation work
2019-02-01 09:43:55 -05:00
John Kåre Alsaker
0c2bf6fe2a
Add an ensure() method to TyCtxt used to ensure queries are run
2019-01-29 21:10:33 +01:00
Mazdak Farrokhzad
4eeb095437
Rollup merge of #57649 - petrochenkov:privexist, r=arielb1
...
privacy: Account for associated existential types
Turns out they *can* be associated (but only in impls, not traits).
Fixes https://github.com/rust-lang/rust/issues/53546#issuecomment-454372879
r? @arielb1
2019-01-19 14:21:21 +01:00
Vadim Petrochenkov
d34b3e9bf2
privacy: Account for associated existential types
2019-01-18 01:06:08 +03:00
John Kåre Alsaker
e301f90f22
Address comments
2019-01-15 00:55:22 +01:00
John Kåre Alsaker
e459000bc1
Make privacy checking, intrinsic checking and liveness checking incremental
2019-01-15 00:55:21 +01:00
Vadim Petrochenkov
f8028b0b6c
privacy: Fix private-in-public check for existential types
2019-01-13 00:41:11 +03:00
Vadim Petrochenkov
fb00313c0d
Address review comments
2019-01-06 03:31:43 +03:00
Vadim Petrochenkov
9503c56ff7
privacy: Mark everything in a header of a reachable impl as reachable
2019-01-05 23:46:19 +03:00
Vadim Petrochenkov
67713f5b7f
privacy: Fix regression in impl reachability
2019-01-05 23:46:19 +03:00
Vadim Petrochenkov
60d1fa70bb
Address review comments
...
Say "trait" instead of "type" in diagnostics for `dyn Trait`
2019-01-01 01:39:55 +03:00
Vadim Petrochenkov
8b1c424b6d
privacy: Use common DefId
visiting infra for all privacy visitors
2019-01-01 01:39:55 +03:00
Mark Rousskov
2a663555dd
Remove licenses
2018-12-25 21:08:33 -07:00
Alexander Regueiro
ee89c088b0
Various minor/cosmetic improvements to code
2018-12-07 23:53:34 +00:00
John Kåre Alsaker
a70babed03
Use a function to access the Hir map to be able to turn it into a query later
2018-12-06 17:24:36 +01:00
Dan Robertson
a0fec9488e
Fix panic with outlives in existential type
...
Don't panic in determining the privacy of a type if a lifetime outlives
generic exists in an existential type.
2018-11-30 02:04:10 +00:00
Eduard-Mihai Burtescu
da622a3796
rustc: remove {FxHash,Node,DefId,HirId,ItemLocal}{Map,Set} "constructor" fns.
2018-11-21 07:27:02 +02:00
Vadim Petrochenkov
a38f903114
Fix ICEs from imports of items not defined in modules
2018-11-18 13:57:03 +03:00
Oliver Scherer
ee81739dc1
Deprecate the FxHashMap()
and FxHashSet()
constructor function hack
2018-10-19 14:34:44 +02:00
Oliver Scherer
78aaa3e546
Check the invariant for principal
inside the method
2018-10-13 11:32:49 +02:00
bors
6310be458f
Auto merge of #54601 - cuviper:prep-1.31, r=Mark-Simulacrum
...
Bump to 1.31.0 and bootstrap from 1.30 beta
Closes #54594 .
2018-09-30 01:45:50 +00:00
Eduard-Mihai Burtescu
7020326bea
rustc: keep a Span for each predicate in ty::GenericPredicates.
2018-09-28 17:19:35 +03:00
Josh Stone
ce034951fb
Bump to 1.31.0 and bootstrap from 1.30 beta
2018-09-27 20:52:53 -07:00
toidiu
731f4efae5
stabalize infer outlives requirements (RFC 2093).
...
Co-authored-by: nikomatsakis
2018-09-11 11:40:04 -04:00
bors
b24330fb7d
Auto merge of #53705 - ms2300:tmp, r=oli-obk
...
#53576 Renaming TyAnon -> TyOpaque
Fixes #53576
2018-09-08 14:16:37 +00:00
bors
20ca02569a
Auto merge of #53721 - arielb1:exhaustively-unpun, r=nikomatsakis
...
fix `is_non_exhaustive` confusion between structs and enums
Structs and enums can both be non-exhaustive, with a very different
meaning. This PR splits `is_non_exhaustive` to 2 separate functions - 1
for structs, and another for enums, and fixes the places that got the
usage confused.
Fixes #53549 .
r? @eddyb
2018-09-06 06:42:19 +00:00
ms2300
6c14360c32
Changing TyAnon -> TyOpaque and relevant functions
2018-09-05 13:01:16 -06:00
Ariel Ben-Yehuda
ae2ad30bf1
move the is_field_list_non_exhaustive flag to VariantDef
...
This completely splits the IS_NON_EXHAUSTIVE flag. No functional
changes intended.
2018-09-01 19:10:26 +03:00
varkor
e2a1cce9c5
Rename hir::map::NodeKind to hir::Node
2018-08-27 21:46:23 +01:00
varkor
11665ca45a
Remove path prefixes from NodeKind
2018-08-27 21:46:13 +01:00
varkor
befc4b1100
Rename hir::map::Node to hir::map::NodeKind
2018-08-27 21:45:46 +01:00
bors
70a21e89f1
Auto merge of #53441 - toidiu:ak-fix53419, r=nikomatsakis
...
fix for late-bound regions
Fix for https://github.com/rust-lang/rust/issues/53419
r? @nikomatsakis
2018-08-27 17:42:45 +00:00
Ariel Ben-Yehuda
993e7e2622
fix is_non_exhaustive
confusion between structs and enums
...
Structs and enums can both be non-exhaustive, with a very different
meaning. This PR splits `is_non_exhaustive` to 2 separate functions - 1
for structs, and another for enums, and fixes the places that got the
usage confused.
Fixes #53549 .
2018-08-26 18:24:51 +03:00
Niko Matsakis
73fb1622b3
check that adding infer-outlives requirement to all crates works
2018-08-24 17:10:50 -04:00
kennytm
a1ec2f76bb
Rollup merge of #53545 - FelixMcFelix:fix-50865-beta, r=petrochenkov
...
Fix #50865 : ICE on impl-trait returning functions reaching private items
Adds a test case as suggested in #50865 , and implements @petrochenkov's suggestion. Fixes #50865 .
Impl-trait-returning functions are marked under a new (low) access level, which they propagate rather than `AccessLevels::Reachable`. `AccessLevels::is_reachable` returns false for such items (leaving stability analysis unaffected), these items may still be visible to the lints phase however.
2018-08-24 23:27:16 +08:00
Kyle Simpson
85a05d1815
Light restructuring.
2018-08-23 13:12:53 +01:00
varkor
04fa5d3adb
Remove Ty prefix from Ty{Foreign|Param}
2018-08-22 16:07:55 +01:00
varkor
6f637da50c
Remove Ty prefix from Ty{Adt|Array|Slice|RawPtr|Ref|FnDef|FnPtr|Dynamic|Closure|Generator|GeneratorWitness|Never|Tuple|Projection|Anon|Infer|Error}
2018-08-22 16:07:44 +01:00
Kyle Simpson
3536359ad8
Further fixes.
2018-08-21 01:50:20 +01:00
Kyle Simpson
81684bf1aa
New AccessLevel and accompanying propagation.
2018-08-21 00:11:59 +01:00