Commit Graph

1273 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
6daff1400a direct imports for langitem stuff 2020-04-02 13:40:43 +02:00
Matthias Krüger
08f2904dfa more clippy fixes
use is_empty() instead of len comparison (clippy::len_zero)
use if let instead of while let loop that never loops (clippy::never_loop)
remove redundant returns (clippy::needless_return)
remove redundant closures (clippy::redundant_closure)
use if let instead of match and wildcard pattern (clippy::single_match)
don't repeat field names redundantly (clippy::redundant_field_names)
2020-03-31 15:20:05 +02:00
Mazdak Farrokhzad
0cb9e36090 rustc -> rustc_middle part 2 2020-03-30 07:16:56 +02:00
Mazdak Farrokhzad
6c58e0194e Rollup merge of #70277 - matthewjasper:remove-closurebound, r=nikomatsakis
Remove `ReClosureBound`

We now substitute external names for regions in the query response.

r? @nikomatsakis
2020-03-24 00:49:48 +01:00
Matthew Jasper
c3b98813c4 Remove ReClosureBound 2020-03-23 15:33:07 +00:00
Guillaume Gomez
b9167e6c7d Support type search for arguments and returned types 2020-03-16 18:29:19 +01:00
Mark Mansi
7bd8ce2e50 More Method->Fn renaming 2020-03-15 19:15:55 -05:00
John Kåre Alsaker
38e613c4eb Update krate_attrs and get_module 2020-03-14 22:52:29 +01:00
Mazdak Farrokhzad
9bc7386970 Rollup merge of #69674 - mark-i-m:assoc-fn, r=matthewjasper
Rename DefKind::Method and TraitItemKind::Method

r? @eddyb, @Centril, or @matthewjasper

cc #69498 #60163
2020-03-12 16:32:13 +01:00
Mazdak Farrokhzad
61150353bf Rollup merge of #69514 - GuillaumeGomez:remove-spotlight, r=kinnison
Remove spotlight

I had a few comments saying that this feature was at best misunderstood or not even used so I decided to organize a poll about on [twitter](https://twitter.com/imperioworld_/status/1232769353503956994). After 87 votes, the result is very clear: it's not useful. Considering the amount of code we have just to run it, I think it's definitely worth it to remove it.

r? @kinnison

cc @ollie27
2020-03-10 06:47:47 +01:00
Matthias Krüger
c2bbe3349f Const items have by default a static lifetime, there's no need to annotate it. (clippy::redundant_static_lifetimes) 2020-03-05 16:38:24 +01:00
Mark Mansi
3aeb9f0faf rename TraitItemKind::Method -> Fn 2020-03-03 12:49:58 -06:00
bors
2917d99302 Auto merge of #69592 - petrochenkov:nosyntax, r=Centril
Rename `libsyntax` to `librustc_ast`

This was the last rustc crate that wasn't following the `rustc_*` naming convention.

Follow-up to https://github.com/rust-lang/rust/pull/67763.
2020-03-01 01:36:58 +00:00
Vadim Petrochenkov
e08c279eac Rename syntax to rustc_ast in source code 2020-02-29 21:59:09 +03:00
Dylan DPC
7d43997053 Rollup merge of #69572 - matthiaskrgr:try_err_and_iter_on_ref, r=Centril
use .iter() instead of .into_iter() on references
2020-02-29 18:54:01 +01:00
Matthias Krüger
de7c40c168 use .iter() instead of .into_iter() on references. 2020-02-29 03:14:01 +01:00
Matthias Krüger
9523c89f18 use is_empty() instead of len() == x to determine if structs are empty. 2020-02-28 15:16:27 +01:00
Guillaume Gomez
1244ced958 Remove "important traits" feature 2020-02-27 14:51:22 +01:00
Maxim Zholobak
20c9a40fec Rename CodeMap to SourceMap follow up 2020-02-22 16:17:31 +02:00
Dylan DPC
391e7e26ae Rollup merge of #69181 - skinny121:const-eval-return, r=oli-obk
Change const eval to just return the value

As discussed in https://github.com/rust-lang/rust/pull/68505#discussion_r370956535, the type of consts shouldn't be returned from const eval queries.

r? @eddyb
cc @nikomatsakis
2020-02-18 16:07:22 +01:00
Yuki Okushi
eb12ed889d Rename FunctionRetTy to FnRetTy 2020-02-17 11:24:29 +09:00
Camille GILLOT
bee6a5ac12 Other crates. 2020-02-16 11:59:35 +01:00
Ben Lewis
774a029e96 Code review changes. 2020-02-16 09:59:01 +13:00
Ben Lewis
c423a8649c Change const eval to return ConstValue, instead of Const as the type inside it shouldn't be used. 2020-02-15 11:56:23 +13:00
Jonas Schievink
e0cb1ae24a Make provided_trait_methods use impl Iterator 2020-02-08 14:37:40 +01:00
Niko Matsakis
534f044425 index ReEmpty by universe
We now make `'empty` indexed by a universe index, resulting
in a region lattice like this:

```
static ----------+-----...------+       (greatest)
|                |              |
early-bound and  |              |
free regions     |              |
|                |              |
scope regions    |              |
|                |              |
empty(root)   placeholder(U1)   |
|            /                  |
|           /         placeholder(Un)
empty(U1) --         /
|                   /
...                /
|                 /
empty(Un) --------                      (smallest)
```

Therefore, `exists<A> { forall<B> { B: A } }` is now unprovable,
because A must be at least Empty(U1) and B is placeholder(U2), and hence
the two regions are unrelated.
2020-02-06 15:58:00 -05:00
Mazdak Farrokhzad
93a8283614 Move builtin attribute logic to new rustc_attr crate.
For now, this is all the crate contains, but more
attribute logic & types will be moved there over time.
2020-02-01 18:54:56 +01:00
Matthias Krüger
ec61761e46 don't clone types that are copy, round two. 2020-01-27 01:18:18 +01:00
Dylan MacKenzie
ab3081a70e Add constness field to ty::Predicate::Trait 2020-01-20 00:00:08 -08:00
Guillaume Gomez
482dc77dee formatting 2020-01-17 19:51:07 +01:00
Guillaume Gomez
3094c3792b Improve code readability 2020-01-16 21:36:39 +01:00
Guillaume Gomez
d755238172 Simplify deref impls for type aliases 2020-01-15 21:21:30 +01:00
Guillaume Gomez
81a5b94ac6 formatting 2020-01-15 13:43:09 +01:00
Guillaume Gomez
12f029b7ee Fix deref impl on type alias 2020-01-15 13:43:09 +01:00
Camille GILLOT
c1c09bee29 Move is_min_const_fn query to librustc_mir.
The only two uses of the associated methods are in librustc_mir and
librustdoc. Please tell me if there is a better choice.
2020-01-08 10:37:37 +01:00
Mazdak Farrokhzad
ebfd8673a7 Remove rustc_hir reexports in rustc::hir. 2020-01-05 12:49:22 +01:00
Mazdak Farrokhzad
62ac10ffde simplify reexports in rustc::hir 2020-01-05 12:47:11 +01:00
Mazdak Farrokhzad
7901c7f707 canonicalize FxHash{Map,Set} imports 2020-01-04 18:57:22 +01:00
Vadim Petrochenkov
70f1d57048 Rename syntax_pos to rustc_span in source code 2020-01-01 09:15:18 +03:00
Camille GILLOT
e569ada528 Retire hir::ptr. 2019-12-30 11:29:30 +01:00
Camille GILLOT
36f95ab3fa Fallout in other crates. 2019-12-27 19:20:28 +01:00
Camille GILLOT
deac631d7f Use Arena inside hir::FnSig. 2019-12-27 19:20:27 +01:00
Ohad Ravid
811bdeee00 Show value for consts in the documentation 2019-12-24 10:10:36 +01:00
Mark Rousskov
a06baa56b9 Format the world 2019-12-22 17:42:47 -05:00
Mazdak Farrokhzad
76db2e3cc4 Rollup merge of #67487 - GuillaumeGomez:rustdoc-mutability-removal, r=Centril
Rustdoc mutability removal

Fixes #67470.

As discussed in another PR, the `clean::Mutability` type in rustdoc is useless. So let's remove it!

r? @Centril
2019-12-22 19:46:10 +01:00
Mazdak Farrokhzad
97bee3a793 Rollup merge of #66877 - skinny121:const-eval-entry-points, r=oli-obk
Add simpler entry points to const eval for common usages.

I found the `tcx.const_eval` API to be complex/awkward to work with, because of the inherent complexity from all of the different situations it is called from. Though it mainly used in one of the following ways:
- Evaluates the value of a constant without any substitutions, e.g. evaluating a static, discriminant, etc.
- Evaluates the value of a resolved instance of a constant. this happens when evaluating unevaluated constants or normalising trait constants.
- Evaluates a promoted constant.

This PR adds three new functions `const_eval_mono`, `const_eval_resolve`, and `const_eval_promoted` to `TyCtxt`, which each cater to one of the three ways `tcx.const_eval`
 is normally used.
2019-12-22 19:46:07 +01:00
bors
26286c7ad0 Auto merge of #66931 - cjgillot:hirene-preamble, r=eddyb
Allocate HIR on an arena 1/4

This PR is the first in a series of 4, aiming at allocating the HIR on an arena, as a memory optimisation.

1. This first PR lays the groundwork and migrates some low-hanging fruits.
2. The second PR will migrate `hir::Expr`, `hir::Pat` and related.
3. The third PR will migrate `hir::Ty` and related.
4. The final PR will be dedicated to eventual cleanups.

In order to make the transition as gradual as possible, some lowering routines receive `Box`-allocated data and move it into the arena. This is a bit wasteful, but hopefully temporary.
Nonetheless, special care should be taken to avoid double arena allocations.

Work mentored by @Zoxc.
2019-12-22 10:30:51 +00:00
Camille GILLOT
e2526120f2 Use Arena inside hir::StructField. 2019-12-21 23:33:42 +01:00
Camille GILLOT
4f1c88be46 Use Arena inside hir::EnumDef. 2019-12-21 23:32:42 +01:00
Camille GILLOT
5fec1ca0ff Use Arena inside hir::ImplItem. 2019-12-21 23:31:47 +01:00