Commit graph

81 commits

Author SHA1 Message Date
Matthew Jasper
455945f24b Remove HIR based const qualification 2019-09-30 19:56:49 +01:00
csmoe
64f61c7888 remove indexed_vec re-export from rustc_data_structures 2019-09-29 16:48:31 +00:00
Mazdak Farrokhzad
dfd365f3e4 cleanup dead ast-borrowck / migrate-mode code. 2019-09-27 19:48:07 +02:00
Mazdak Farrokhzad
defd5088d6 cleanup check_match wrt. SignalledError. 2019-09-27 19:48:07 +02:00
bors
134004f74d Auto merge of #62661 - arielb1:never-reserve, r=nikomatsakis
reserve `impl<T> From<!> for T`

this is necessary for never-type stabilization.

cc #57012 #35121

I think we wanted a crater run for this @nikomatsakis?

r? @nikomatsakis
2019-09-26 08:42:34 +00:00
Mazdak Farrokhzad
34067ee961
Rollup merge of #64599 - csmoe:doc_async_reexport, r=nikomatsakis
Rustdoc render async function re-export

Closes #63710
r? @nikomatsakis
2019-09-25 03:48:27 +02:00
Ariel Ben-Yehuda
1ec7ae14fa resolve the rustc_reservation_impl attribute in 1 place 2019-09-24 21:11:50 +03:00
Alex Crichton
50c57d8c80 rustc: Fix mixing crates with different share_generics
This commit addresses #64319 by removing the `dylib` crate type from the
list of crate type that exports generic symbols. The bug in #64319
arises because a `dylib` crate type was trying to export a symbol in an
uptream crate but it miscalculated the symbol name of the uptream
symbol. This isn't really necessary, though, since `dylib` crates aren't
that heavily used, so we can just conservatively say that the `dylib`
crate type never exports generic symbols, forcibly removing them from
the exported symbol lists if were to otherwise find them.

The fix here happens in two places:

* First is in the `local_crate_exports_generics` method, indicating that
  it's now `false` for the `Dylib` crate type. Only rlibs actually
  export generics at this point.

* Next is when we load exported symbols from upstream crate. If, for our
  compilation session, the crate may be included from a dynamic library,
  then its generic symbols are removed. When the crate was linked into a
  dynamic library its symbols weren't exported, so we can't consider
  them a candidate to link against.

Overally this should avoid situations where we incorrectly calculate the
upstream symbol names in the face of differnet `share_generics` options,
ultimately...

Closes #64319
2019-09-23 12:29:51 -07:00
Alex Crichton
5d531aeaf4 rustc: Convert dependency_formats to a query
This commit converts a field of `Session`, `dependency_formats`, into a
query of `TyCtxt`. This information then also needed to be threaded
through to other remaining portions of the linker, but it's relatively
straightforward. The only change here is that instead of
`HashMap<CrateType, T>` the data structure changed to `Vec<(CrateType,
T)>` to make it easier to deal with in queries.
2019-09-23 12:29:51 -07:00
csmoe
a813cc1bf1 rename is_async_fn to asyncness 2019-09-21 03:17:57 +00:00
csmoe
9ffb1ce28c append asyncness info to functions 2019-09-19 18:38:55 +00:00
csmoe
2fd4c27c32 add is_async_fn query 2019-09-19 03:17:34 +00:00
Oliver Scherer
0de9485038 Get rid of special const intrinsic query in favour of const_eval 2019-09-17 16:31:55 +02:00
Alexander Regueiro
c1d29ee3c7 Aggregation of cosmetic changes made during work on REPL PRs: librustc 2019-09-07 16:27:19 +01:00
Oliver Scherer
26e9990198 Add a "diagnostic item" scheme
This allows lints and other diagnostics to refer to items
by a unique ID instead of relying on whacky path
resolution schemes that may break when items are
relocated.
2019-08-30 01:00:55 +02:00
Wesley Wiser
34fe28bc67 Fix tidy 2019-08-22 06:36:31 -04:00
Wesley Wiser
73814654b2 Move promoted out of mir::Body 2019-08-22 06:36:30 -04:00
Mazdak Farrokhzad
f64b66a407 Do not downgrade NLL errors for bind_by_move_pattern_guards when AST says it is OK. 2019-07-30 06:43:06 +02:00
Samy Kacimi
66815c613a
normalize use of backticks for compiler messages in remaining modules
https://github.com/rust-lang/rust/issues/60532
2019-07-23 23:09:59 +02:00
bors
d36b7f6944 Auto merge of #62322 - wesleywiser:promoted_query, r=oli-obk
Add a query to get the `promoted`s for a `mir::Body`

This is a builidng block toward removing a lot of duplicated code
between miri and the cosnt-propagator pass.

See this thread for more info:
https://rust-lang.zulipchat.com/#narrow/stream/189540-t-compiler.2Fwg-mir-opt/topic/Using.20.60InterpCx.60.20more/near/169030661

r? @spastorino but feel free to hand it off to somebody else
2019-07-16 12:19:35 +00:00
Wesley Wiser
57c98d3392 Add a query to get the promoteds for a mir::Body
This is a builidng block toward removing a lot of duplicated code
between miri and the cosnt-propagator pass.

See this thread for more info:
https://rust-lang.zulipchat.com/#narrow/stream/189540-t-compiler.2Fwg-mir-opt/topic/Using.20.60InterpCx.60.20more/near/169030661
2019-07-02 20:52:58 -04:00
John Kåre Alsaker
b9344e31f5 Derive which queries to save using the proc macro 2019-07-02 17:31:46 +02:00
John Kåre Alsaker
ede41ab4d6 Keep caching for non-promoted queries 2019-06-30 11:18:44 +02:00
John Kåre Alsaker
930ad86e3d Clean up query cache code 2019-06-30 11:18:44 +02:00
Mark Mansi
0f822d775f query-fy type_name 2019-06-02 23:20:36 -05:00
Mark Mansi
74919df3a9 query-ify const_field 2019-06-02 23:03:58 -05:00
Eduard-Mihai Burtescu
961fe5479f rustc: use indexmap instead of a plain vector for upvars. 2019-06-01 19:17:22 +03:00
Mazdak Farrokhzad
760a98fb5e
Rollup merge of #61389 - Zoxc:arena-cleanup, r=eddyb
Remove GlobalArenas and use Arena instead

r? @eddyb
2019-06-01 06:50:07 +02:00
Eduard-Mihai Burtescu
2092963a18 rustc_codegen_utils: add new mangling scheme implementation. 2019-05-31 18:24:42 +03:00
John Kåre Alsaker
6d387463aa Remove GlobalArenas and use Arena instead 2019-05-31 09:44:37 +02:00
Eduard-Mihai Burtescu
3e5beb2c6f rustc: rename Mir to mir::Body in comments and to MIR in error strings. 2019-05-29 00:26:56 +03:00
Claude-Alban RANÉLY-VERGÉ-DÉPRÉ
6e5e0daff2 Changes the type mir::Mir into mir::Body
The commit should have changed comments as well.
At the time of writting, it passes the tidy and check tool.

Revisions asked by eddyb :
- Renamed of all the occurences of {visit/super}_mir
- Renamed test structures `CachedMir` to `Cached`

Fixing the missing import on `AggregateKind`
2019-05-28 19:17:51 +02:00
Andrew Xu
46b9ed4fa1 Rename "Associated*" to "Assoc*"
We are going to uniform the terminology of all associated items.
Methods that may or may not have `self` are called "associated
functions". Because `AssociatedFn` is a bit long, we rename `Associated`
to `Assoc`.
2019-05-26 17:49:02 +08:00
John Kåre Alsaker
d46e732e39 Update crate_variances and inferred_outlives_crate 2019-05-23 18:51:52 +02:00
John Kåre Alsaker
a58999c19e Update dylib_dependency_formats, extern_crate and reachable_non_generics 2019-05-23 18:51:52 +02:00
John Kåre Alsaker
469831f4da Update foreign_modules and dllimport_foreign_items 2019-05-23 18:51:51 +02:00
John Kåre Alsaker
2f74d90ef3 Update visible_parent_map 2019-05-23 18:51:51 +02:00
John Kåre Alsaker
3f87975d65 Update get_lib_features, defined_lib_features, get_lang_items, defined_lang_items, missing_lang_items, postorder_cnums and maybe_unused_extern_crates 2019-05-23 18:51:51 +02:00
John Kåre Alsaker
46f2511296 Update wasm_import_module_map and target_features_whitelist 2019-05-23 18:51:50 +02:00
John Kåre Alsaker
9b648f7088 Update upvars and module_exports 2019-05-23 18:51:50 +02:00
John Kåre Alsaker
5f808f6588 Update in_scope_traits_map 2019-05-23 18:51:50 +02:00
John Kåre Alsaker
fb578794b0 Update privacy_access_levels 2019-05-23 18:51:49 +02:00
John Kåre Alsaker
5751fcc3b1 Update all_traits 2019-05-23 18:51:49 +02:00
John Kåre Alsaker
10ef70bb68 Update stability_index, all_crate_nums and features_query 2019-05-23 18:51:49 +02:00
John Kåre Alsaker
9dcc60b081 Update lint_levels 2019-05-23 18:51:48 +02:00
John Kåre Alsaker
ae8975c812 Update GenericPredicates queries 2019-05-23 18:51:46 +02:00
John Kåre Alsaker
28482db247 Update used_trait_imports 2019-05-23 18:51:45 +02:00
John Kåre Alsaker
b1398a0de6 Update item_children 2019-05-23 18:51:45 +02:00
John Kåre Alsaker
529aed81de Update resolve_lifetimes, named_region_map, is_late_bound_map and object_lifetime_defaults_map 2019-05-23 18:51:45 +02:00
John Kåre Alsaker
093940ddc4 Update implementations_of_trait and all_trait_implementations 2019-05-23 18:51:43 +02:00