jumbatm
0b2436f3a4
Move more into decorate functions.
2020-02-11 19:50:26 +10:00
jumbatm
d246385122
Run RustFmt
2020-02-11 19:49:01 +10:00
jumbatm
7c58ffe874
Invert control in struct_lint_level.
...
Caller now passes in a `decorate` function, which is only run if the
lint is allowed.
2020-02-11 19:47:40 +10:00
Dylan DPC
8f5858007c
Rollup merge of #68588 - Centril:check-unsafety-clean, r=Mark-Simulacrum
...
check_unsafety: more code reuse
r? oli-obk
2020-01-31 01:21:24 +01:00
Santiago Pastorino
5f1caa4032
./x.py fmt
2020-01-28 10:12:54 -03:00
Santiago Pastorino
22a4827dcb
Place::ty_from takes local by value
2020-01-28 10:12:53 -03:00
Mazdak Farrokhzad
dc17f38e04
check_unsafety: more code reuse
2020-01-28 02:30:47 +01:00
Matthias Krüger
ec61761e46
don't clone types that are copy, round two.
2020-01-27 01:18:18 +01:00
Matthew Jasper
f30a8186f7
Make pointers to statics internal
2020-01-23 21:38:15 +00:00
Mazdak Farrokhzad
de6046fa0f
remove rustc_error_codes deps except in rustc_driver
2020-01-18 21:53:53 +01:00
Mazdak Farrokhzad
cc51d0350e
Rollup merge of #68045 - Centril:liberate-lints, r=Mark-Simulacrum
...
Move more of `rustc::lint` into `rustc_lint`
Based on https://github.com/rust-lang/rust/pull/67806 .
Here we try to consolidate more of the linting infra into `rustc::lint`. Some high-level notes:
- We now store an `Lrc<dyn Any + Send + Sync>` as opposed to `Lrc<LintStore>` in the `GlobalCtxt`. This enables us to avoid referring to the type, breaking a cyclic dependency, and so we can move things from `rustc::lint` to `rustc_lint`.
- `in_derive_expansion` is, and needs to, be moved as a method on `Span`.
- We reduce the number of ways on `tcx` to emit a lint so that the developer UX is more streamlined.
- `LintLevelsBuilder` is moved to `rustc_lint::levels`, leaving behind `LintLevelMap/Set` in a purified form due to current constraints (hopefully fixable in the future after https://github.com/rust-lang/rust/pull/68133 ).
- `struct_lint_level` is moved to `rustc::lint` due to current dependency constraints.
- `rustc::lint::context` is moved to `rustc_lint::context`.
- The visitors in `rustc::lint` are moved to `rustc_lint::passes`.
2020-01-12 03:27:59 +01:00
Mazdak Farrokhzad
c151782d76
reduce diversity in linting methods
2020-01-11 07:42:26 +01:00
Santiago Pastorino
5d9b399044
Remove PlaceBase enum and make Place base field be local: Local
2020-01-10 09:08:25 +01:00
Santiago Pastorino
fd5aa32c35
Remove Static from PlaceBase
2020-01-10 09:08:24 +01:00
Santiago Pastorino
b63597dedb
Remove StaticKind
2020-01-10 09:08:24 +01:00
Santiago Pastorino
6f2c7025b8
Remove StaticKind::Promoted
2020-01-10 09:08:24 +01:00
Mazdak Farrokhzad
0b3ef24e75
Rollup merge of #67979 - Centril:hir-cleanup, r=Zoxc
...
Move `intravisit` => `rustc_hir` + misc cleanup
Working towards https://github.com/rust-lang/rust/issues/65031 .
This should eventually enable getting rid of rustc as a dependency in various passes (e.g. lints).
cc https://github.com/rust-lang/rust/pull/67806 (this also facilitates liberating lints from tcx)
cc https://github.com/rust-lang/rust/pull/67922 (some other dep reductions)
r? @Zoxc
2020-01-09 00:22:11 +01:00
Mazdak Farrokhzad
0997388b87
normalize rustc::hir::intravisit imports
2020-01-08 22:09:42 +01:00
Mazdak Farrokhzad
8351667091
intravisit: abstract over HIR Map
2020-01-08 22:01:07 +01:00
Yuki Okushi
b85b1dd465
Rollup merge of #67781 - cjgillot:passes-const, r=oli-obk
...
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.
cc #65031
2020-01-09 00:29:08 +09: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
2c3e5d3de0
- remove syntax::{span_warn!, span_err!, span_fatal!. struct_err!}
...
- remove syntax::{help!, span_help!, span_note!}
- remove unused syntax::{struct_span_fatal, struct_span_err_or_warn!, span_err_or_warn!}
- lintify check_for_bindings_named_same_as_variants + conflicting_repr_hints
- inline syntax::{struct_span_warn!, diagnostic_used!}
- stringify_error_code! -> error_code! & use it more.
- find_plugin_registrar: de-fatalize an error
- de-fatalize metadata errors
- move type_error_struct! to rustc_typeck
- struct_span_err! -> rustc_errors
2020-01-08 04:25:33 +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
4ff12ce4c1
Normalize syntax::symbol
imports.
2020-01-02 13:57:04 +01:00
Camille GILLOT
8284035372
Fallout in other crates.
2019-12-26 23:38:46 +01:00
Mark Rousskov
a06baa56b9
Format the world
2019-12-22 17:42:47 -05:00
varkor
9f1269f23c
Rename to then_some
and then
2019-12-06 12:24:54 +00:00
varkor
e3a8ea4e18
Use to_option
in various places
2019-12-06 12:23:23 +00:00
Paul Daniel Faria
05dc5e9f47
Compute predecessors in mir_build query and use existing cache for generating ReadOnlyBodyCache, remove unneeded fns
2019-12-02 08:41:30 -05:00
Paul Daniel Faria
b2fe254c98
Remove HasLocalDecls impl from BodyCache's, properly reborrow to Body, rename all body_cache back to body
2019-12-02 08:40:56 -05:00
Paul Daniel Faria
595d161d36
Remove BodyCache.body and rely on Deref as much as possible for ReadOnlyBodyCache
2019-12-02 08:38:16 -05:00
Paul Daniel Faria
4de31b26d1
Fix remaining compilation issues
2019-12-02 08:37:04 -05:00
Paul Daniel Faria
fc6b58d0a8
Simplify BodyCache impl and fix all remaining type errors in librustc_mir (lifetime errors still exist)
2019-12-02 08:35:08 -05:00
Eduard-Mihai Burtescu
a9976d89ed
rustc: move mir::SourceScopeLocalData to a field of SourceScopeData.
2019-11-30 01:37:42 +02:00
Eduard-Mihai Burtescu
30a9978c6c
rustc: move MIR source_scope_local_data's ClearCrossCrate to be around elements.
2019-11-30 01:36:51 +02:00
Matthew Jasper
9abc34ed9d
Track pointers to statics in MIR
2019-11-21 20:55:17 +00:00
Guillaume Gomez
798e389e57
Update to use new librustc_error_codes library
2019-11-14 13:05:42 +01:00
Mazdak Farrokhzad
65c77bc09a
Rollup merge of #66188 - Centril:fnsig, r=davidtwco
...
`MethodSig` -> `FnSig` & Use it in `ItemKind::Fn`
In both AST & HIR, rename `MethodSig` to `FnSig` and then proceed to use it in `ItemKind::Fn` so that the overall structure is more regular.
r? @davidtwco
2019-11-08 16:50:41 +01:00
Mazdak Farrokhzad
30d7279628
hir::ItemKind::Fn: use hir::MethodSig
2019-11-08 09:32:20 +01:00
Mazdak Farrokhzad
98d2c510dd
safe_extern_static -> error
2019-11-06 11:10:36 +01:00
Nicholas Nethercote
b9cef6984b
Simplify various Symbol
use points.
...
Including removing a bunch of unnecessary `.as_str()` calls, and a bunch
of unnecessary sigils.
2019-11-02 09:01:02 +11:00
Mazdak Farrokhzad
8bb039fb83
Rollup merge of #65315 - spastorino:intern-place-projection, r=oli-obk
...
Intern place projection
This should sit on top of https://github.com/rust-lang/rust/pull/65197 . After that one merged, I'm gonna rebase on top of it.
The important commits are the last three and there's a bunch of code repetition that I'm going to remove but for that I need to refactor some things that probably need to be added before this PR.
Anyway this work helps as is because we can run perf tests :).
r? @oli-obk /cc @nikomatsakis
2019-10-25 13:12:46 +02:00
Santiago Pastorino
190802cfca
Pattern match over PlaceRef rather than Place
...
This prepares the code base for when projection is interned. Place's
projection field is going to be `&List<PlaceElem<'tcx>>` so we won't be
able to pattern match against it.
2019-10-22 10:33:30 -03:00
Nicholas Nethercote
c325553a30
Convert InternedString
s to Symbols
in UnsafetyViolation
.
2019-10-21 11:32:55 +11:00
csmoe
64f61c7888
remove indexed_vec re-export from rustc_data_structures
2019-09-29 16:48:31 +00:00
varkor
7bc94cc3c2
Rename Item.node
to Item.kind
2019-09-26 18:21:48 +01:00
varkor
e2e0f9af85
Rename sty
to kind
2019-09-25 15:50:04 +01:00
Oliver Scherer
7767e7fb16
Stabilize str::len
, [T]::len
, is_empty
and str::as_bytes
as const fn
2019-09-24 12:56:44 +02:00
Santiago Pastorino
d1f763f60d
Use while let slice_pattern instead of carrying an index around
2019-09-16 15:53:08 -03:00