Commit graph

90 commits

Author SHA1 Message Date
Dylan DPC
f1ab750083
Rollup merge of #70119 - eddyb:typeck-tables-local-def-id, r=petrochenkov
rustc: use LocalDefId instead of DefId in TypeckTables.

The logic in `TypeckTables`' implementation of `HashStable`, which created `DefId`s by combining a `CrateNum` from a `DefId` and a `DefIndex` from a `LocalDefId`, bothered me a bit.

I don't know how much this matters, but it works so might as well submit it.
2020-03-21 13:06:42 +01:00
Mazdak Farrokhzad
a6d0c35e86
Rollup merge of #70089 - eddyb:closure-sig-infer, r=nikomatsakis
rustc_infer: remove InferCtxt::closure_sig as the FnSig is always shallowly known.

That is, `ClosureSubsts` is always created (in `rustc_typeck::check::closure`) with a `FnSig`, as the number of inputs is known, even if they might all have inference types.
The only useful thing `InferCtxt::closure_sig` was doing is resolving an inference variable used just to get the `ty::FnPtr` containing that `FnSig` into `ClosureSubsts`.

The ideal way to solve this would be to add a constructor for `ClosureSubsts`, that combines the parent `Substs`, the closure kind, the signature, and capture types together, but for now I've went with resolving the inference types just after unifying them with the real types.

r? @nikomatsakis
2020-03-21 08:51:18 +01:00
Matthias Krüger
ad00e91887 remove redundant returns (clippy::needless_return) 2020-03-20 20:23:03 +01:00
Eduard-Mihai Burtescu
f8178c7a23 rustc: use LocalDefId instead of DefId in TypeckTables. 2020-03-19 14:25:50 +02:00
Mazdak Farrokhzad
292c538265
Rollup merge of #69920 - Centril:hir-cleanup, r=Zoxc
Remove some imports to the rustc crate

- When we have `NestedVisitorMap::None`, we use `type Map = dyn intravisit::Map<'v>;` instead of the actual map. This doesn't actually result in dynamic dispatch (in the future we may want to use an associated type default to simplify the code).

- Use `rustc_session::` imports instead of `rustc::{session, lint}`.

r? @Zoxc
2020-03-18 18:03:44 +01:00
Eduard-Mihai Burtescu
63811bc38f rustc_infer: remove InferCtxt::closure_sig as the FnSig is always shallowly known. 2020-03-18 02:16:01 +02:00
Matthew Jasper
0a7f16e7d8 Erase regions in writeback
Also skip duplicated region solving entirely with `-Zborrowck=mir`.
2020-03-17 09:07:56 +00:00
Matthew Jasper
cefd0305b1 Don't use TypeckTables in NiceRegionError
Regions in TypeckTables will be erased, so are unusable for error
reporting.
2020-03-17 08:46:56 +00:00
Mazdak Farrokhzad
4392a8b73c use direct imports for rustc::{lint, session}. 2020-03-16 02:52:06 +01:00
Mark Mansi
7bd8ce2e50 More Method->Fn renaming 2020-03-15 19:15:55 -05:00
John Kåre Alsaker
8b16b023b1 Index HIR after creating TyCtxt 2020-03-14 22:52:30 +01:00
Camille GILLOT
0144a97946 Trim dependencies and features. 2020-03-14 14:18:15 +01:00
Camille GILLOT
0535dd3721 Split librustc_infer. 2020-03-14 14:17:13 +01:00
Camille GILLOT
c1e3d556bf Move rustc_infer::traits to new crate rustc_trait_selection. 2020-03-14 14:15:50 +01:00
Camille GILLOT
21d4e063bc Mode ProjectionCache to its own module. 2020-03-14 14:15:14 +01:00
Camille GILLOT
796ca64e9a Move traits::query::outlives_bounds::explicit_outlives_bounds to infer::outlives. 2020-03-14 14:14:51 +01:00
Camille GILLOT
98444ca53e Move opaque_types::unexpected_hidden_region_diagnostic to error_reporting. 2020-03-14 14:14:13 +01:00
Camille GILLOT
3e5259d3eb Move IntercrateAmbiguityCause back to rustc::traits::select. 2020-03-14 14:10:56 +01:00
Yuki Okushi
c13548dccd
Rollup merge of #69809 - matthiaskrgr:lifetimes, r=eddyb
remove lifetimes that can be elided (clippy::needless_lifetimes)
2020-03-14 04:03:26 +09:00
Yuki Okushi
8e17c8366c
Rollup merge of #69802 - matthiaskrgr:cl1ppy, r=Dylan-DPC
fix more clippy findings

* reduce references on match patterns (clippy::match_ref_pats)
* Use writeln!(fmt, "word") instead of write!(fmt, "word\n") (clippy::write_with_newline)
* libtest: remove redundant argument to writeln!() (clippy::writeln_empty_string)
* remove unneeded mutable references (cippy::unnecessary_mut_passed)
* libtest: declare variables as floats instead of casting them (clippy::unnecessary_cast)
* rustdoc: remove redundant static lifetimes (clippy::redundant_static_lifetimes)
* call .as_deref() instead of .as_ref().map(Deref::deref) (clippy::option_as_ref_deref)
* iterate over a maps values directly. (clippy::for_kv_map)
* rustdoc: simplify boolean condition (clippy::nonminimal_bool)
* Use ?-operator in more places (clippy::question_mark, had some false negatives fixed recently)
* rustdoc: Use .any(p) instead of find(p).is_some(). (clippy::search_is_some)
* rustdoc: don't call into_iter() on iterator. (clippy::identity_conversion)
2020-03-14 04:03:24 +09:00
Matthias Krüger
7b1b08cfee remove lifetimes that can be elided (clippy::needless_lifetimes) 2020-03-12 20:03:09 +01:00
Mazdak Farrokhzad
39c6405097
Rollup merge of #69747 - spastorino:rename-rustc-guide, r=pietroalbini
Rename rustc guide

This is in preparation for https://github.com/rust-lang/rustc-guide/issues/470
Needs to be merged after we actually rename the guide.

Have used this to rename:

`git grep -l 'rustc_guide' | xargs sed -i 's/rustc_guide/rustc_dev_guide/g'`
`git grep -l 'rustc-guide' | xargs sed -i 's/rustc-guide/rustc-dev-guide/g'`
`git grep -l 'rustc guide' | xargs sed -i 's/rustc guide/rustc dev guide/g'`
2020-03-12 16:32:19 +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
d7f0b88ade
Rollup merge of #69591 - matthewjasper:query-response-relate, r=nikomatsakis
Use TypeRelating for instantiating query responses

`eq` can add constraints to `RegionConstraintData`, which isn't allowed during borrow checking outside of a `CustomTypeOp`. Use `TypeRelating` instead to always push constraints to the obligations list.

closes #69490
2020-03-11 10:36:19 +01:00
Santiago Pastorino
b3b32b74bc
rust-lang.github.io/rustc-dev-guide -> rustc-dev-guide.rust-lang.org 2020-03-10 17:08:18 -03:00
Santiago Pastorino
d00b2696d8
Rename Rustc Guide to Rustc Dev Guide 2020-03-10 17:08:18 -03:00
Santiago Pastorino
9d4fdba8be
Rename rustc guide to rustc dev guide 2020-03-10 17:08:16 -03:00
Santiago Pastorino
0037f4e37c
Rename rustc-guide to rustc-dev-guide 2020-03-10 17:08:10 -03:00
Matthias Krüger
77af19eb71 remove unneeded mutable references (cippy::unnecessary_mut_passed) 2020-03-07 21:48:17 +01:00
Matthias Krüger
7aad89a900 Use ?-operator in more places (clippy::question_mark, had some false negatives fixed recently) 2020-03-07 21:46:47 +01:00
Mazdak Farrokhzad
10f999b72d
Rollup merge of #69773 - matthiaskrgr:typos, r=petrochenkov
fix various typos
2020-03-07 17:27:32 +01:00
Matthias Krüger
83980aca20 Don't redundantly repeat field names (clippy::redundant_field_names) 2020-03-06 19:42:18 +01:00
Matthias Krüger
136ad015b6 fix various typos 2020-03-06 15:19:31 +01:00
bors
865b44a3e3 Auto merge of #69614 - estebank:ice-age, r=davidtwco
`delay_span_bug` when codegen cannot select obligation

Fix #69602, introduced in #60126 by letting the compiler continue past
type checking after encountering errors.
2020-03-06 08:24:48 +00:00
Matthias Krüger
84577c86bf Don't pass &mut where immutable reference (&) is sufficient (clippy::unnecessary_mut_passed) 2020-03-05 16:39:20 +01:00
Matthias Krüger
3fc5c118dd Use righthand '&' instead of lefthand "ref". (clippy::toplevel_ref_arg) 2020-03-05 16:39:12 +01:00
Dylan DPC
8ca3e59f8a
Rollup merge of #69650 - matthiaskrgr:clnp, r=varkor
cleanup more iterator usages (and other things)

* Improve weird formatting by moving comment inside else-code block.
* Use .any(x) instead of .find(x).is_some() on iterators.
* Use .nth(x) instead of .skip(x).next() on iterators.
* Simplify conditions like  x + 1 <= y   to   x < y
* Use let instead of match to get value of enum with single variant.
2020-03-03 21:26:13 +01:00
Mark Mansi
3aeb9f0faf rename TraitItemKind::Method -> Fn 2020-03-03 12:49:58 -06:00
Mark Mansi
98c7ed67fb DefKind::Method -> DefKind::AssocFn 2020-03-03 12:29:07 -06:00
Yuki Okushi
f19684c7cf
Rollup merge of #69619 - matthiaskrgr:misc, r=eddyb
more cleanups

* use starts_with() instead of chars().next() == Some(x)
* use subsec_micros() instead of subsec_nanos() / 1000
* use for (idx, item) in iter.enumerate() instead of manually counting loop iterations with variables
* use values() or keys() respectively when iterating only over keys or values of maps.
2020-03-03 17:50:08 +09:00
Matthias Krüger
c287d86d2c Use .nth(x) instead of .skip(x).next() on iterators. 2020-03-03 01:00:48 +01:00
CAD97
b3777c952f Remove chalk integration 2020-03-02 18:11:53 -05:00
Matthias Krüger
21affdd00d use values() or keys() respectively when iterating only over keys or values of maps. 2020-03-02 13:01:05 +01:00
Matthew Jasper
ebc86b441d Fix use of has_infer_types
* Add a new method `has_infer_types_or_consts` that's used instead most
  of the time, since there's generally no reason to only consider types.
*  Remove use of `has_closure_types`, because closures are no longer
  implicitly linked to the `InferCtxt`.
2020-03-01 21:42:34 +00:00
Esteban Küber
7b6f5ed956 delay_span_bug when codegen cannot select obligation
Fix #69602, introduced in #60126 by letting the compiler continue past
type checking after encountering errors.
2020-03-01 10:46:07 -08:00
Dylan DPC
87284d7e79
Rollup merge of #69569 - matthiaskrgr:nonminimal_bool, r=mark-Simulacrum
simplify boolean expressions
2020-03-01 17:23:30 +01: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
Vadim Petrochenkov
6054a30370 Make it build again 2020-02-29 20:47:10 +03:00