Commit graph

83 commits

Author SHA1 Message Date
Yuki Okushi
82f2b37635 Add Option<Span> to require_lang_item 2019-08-28 07:11:12 +09:00
Matthew Jasper
2f6babbc6d Remove is_self and has_self_ty methods 2019-08-11 15:00:42 +01:00
Eduard-Mihai Burtescu
f3f9d6dfd9 Unify all uses of 'gcx and 'tcx. 2019-06-14 18:58:23 +03:00
Eduard-Mihai Burtescu
fff08cb043 Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
Eduard-Mihai Burtescu
17cdd356da rustc: replace TyCtxt<'tcx, 'gcx, 'tcx> with TyCtxt<'gcx, 'tcx>. 2019-06-12 13:38:27 +03:00
Eduard-Mihai Burtescu
2441253508 Fix fallout from deny(unused_lifetimes). 2019-06-12 13:38:27 +03:00
Eduard-Mihai Burtescu
37799a5552 rustc: replace TyCtxt<'a, 'gcx, 'tcx> with TyCtxt<'tcx, 'gcx, 'tcx>. 2019-06-12 13:38:27 +03:00
Eduard-Mihai Burtescu
1d720ec27c Run rustfmt --file-lines ... for changes from previous commits. 2019-06-11 14:11:59 +03:00
Eduard-Mihai Burtescu
774724be3c rustc: deny(unused_lifetimes). 2019-06-11 14:11:58 +03:00
Mark Mansi
58bd0ea732 deduplicate ty::Instance constructors 2019-06-02 22:44:51 -05: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
Vadim Petrochenkov
2cbc25e6fc Merge DefPathData::VariantCtor and DefPathData::StructCtor 2019-03-24 17:59:18 +03:00
David Wood
5c3d1e5d76 Separate variant id and variant constructor id.
This commit makes two changes - separating the `NodeId` that identifies
an enum variant from the `NodeId` that identifies the variant's
constructor; and no longer creating a `NodeId` for `Struct`-style enum
variants and structs.

Separation of the variant id and variant constructor id will allow the
rest of RFC 2008 to be implemented by lowering the visibility of the
variant's constructor without lowering the visbility of the variant
itself.

No longer creating a `NodeId` for `Struct`-style enum variants and
structs mostly simplifies logic as previously this `NodeId` wasn't used.
There were various cases where the `NodeId` wouldn't be used unless
there was an unit or tuple struct or enum variant but not all uses of
this `NodeId` had that condition, by removing this `NodeId`, this must
be explicitly dealt with. This change mostly applied cleanly, but there
were one or two cases in name resolution and one case in type check
where the existing logic required a id for `Struct`-style enum variants
and structs.
2019-03-24 12:10:16 +03:00
Eduard-Mihai Burtescu
8619edede1 rustc: slice substs in ty::print instead of passing the full ones. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
52b4f2daa0 rustc: remove PrintCx from ty::Print and rely on printers carrying TyCtxt. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
c0c485c3ad rustc: don't thread existential projections through path_generic_args. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
d0a1bf5c88 rustc: make util::ppaux private. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
2386168139 rustc: explicitly pass the namespace to PrintCx::parameterized. 2019-03-15 09:26:13 +02:00
Eduard-Mihai Burtescu
eb525b0916 rustc: tie the 'tcx between Print and PrintCx in ty::print. 2019-03-15 09:26:13 +02:00
John Kåre Alsaker
3936aff216 Use derive macro for HashStable 2019-03-13 00:03:13 +01:00
Dan Robertson
08bd4ff998
Rename variadic to c_variadic
Function signatures with the `variadic` member set are actually
C-variadic functions. Make this a little more explicit by renaming the
`variadic` boolean value, `c_variadic`.
2019-02-27 10:21:54 -05:00
csmoe
ccfa5d6df8 replace &'tcx Substs with SubstsRef 2019-02-26 19:30:57 +08:00
Alexander Regueiro
c3e182cf43 rustc: doc comments 2019-02-10 23:42:32 +00:00
Mark Mansi
e957ed9d10 move librustc to 2018 2019-02-05 12:45:47 -06:00
Wim Looman
be3989301a Update generator transform and generated function signature 2019-01-27 22:58:59 +01:00
Mark Rousskov
2a663555dd Remove licenses 2018-12-25 21:08:33 -07:00
Ariel Ben-Yehuda
59e9a1e75a pass the parameter environment to traits::find_associated_item
dropping the param-env on the floor is obviously the wrong thing to do.

The ICE was probably exposed by #54490 adding the problem-exposing use of
`traits::find_associated_item`.

Fixes #55380.
2018-12-03 00:53:17 +02:00
Oliver Scherer
eb18ddd8f4 Don't auto-inline const fn 2018-11-17 17:50:37 +01:00
bors
a3f0f5107e Auto merge of #55101 - alexreg:trait-aliases, r=nikomatsakis
Implement trait aliases (RFC 1733)

Extends groundwork done in https://github.com/rust-lang/rust/pull/45047, and fully implements https://github.com/rust-lang/rfcs/pull/1733.

CC @durka @nikomatsakis
2018-11-03 17:30:37 +00:00
scalexm
d0447550da Shift both late bound regions and bound types 2018-11-03 11:41:51 +01:00
Alexander Regueiro
34792d9f6a Added support for trait aliases as bounds. 2018-11-03 04:09:33 +00:00
Masaki Hara
e568e98063 Move codegen_llvm::common::ty_fn_sig into rustc::ty::Instance. 2018-10-24 21:59:07 +09:00
Masaki Hara
6fd914a1af Add vtable-shim helper methods for Instance. 2018-10-24 21:59:06 +09:00
Masaki Hara
0ad4c6f850 Add InstanceDef::VtableShim. 2018-10-24 21:59:06 +09:00
bors
fddcd316af Auto merge of #54743 - ljedrz:cleanup_ty_p2, r=zackmdavis
Cleanup rustc/ty part 2

The second part of cleanups and minor improvements for rustc/ty.
- improve allocations
- calculate span after a possible early continue
- simplify some patterns
- mark a comment as FIXME
- whitespace fixes

The PR is independent from from the first part.
2018-10-05 19:32:14 +00:00
Oliver Schneider
f5106a23c3 Poke in the dark and see if bors+windows stops screaming 2018-10-03 10:07:05 +02:00
ljedrz
187bcb9bd1 rustc/ty: whitespace fixes 2018-10-03 08:56:43 +02:00
Zack M. Davis
5b22d9b2ca don't elide lifetimes in paths in librustc/
This seemed like a good way to kick the tires on the
elided-lifetimes-in-paths lint (#52069)—seems to work! This was also
pretty tedious—it sure would be nice if `cargo fix` worked on this
codebase (#53896)!
2018-09-29 21:48:29 -07: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
ljedrz
44d32d4413 Avoid unnecessary pattern matching against Option and Result 2018-08-07 10:24:27 +02:00
Eduard-Mihai Burtescu
e3df729c25 rustc: make mk_substs_trait take &[Kind] instead of &[Ty]. 2018-05-21 12:13:17 +03:00
Irina Popa
b63d7e2b1c Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
John Kåre Alsaker
710b4ad2a5 Store the GeneratorInterior in the new GeneratorSubsts 2018-05-08 16:21:58 +02:00
Irina Popa
04fa0e7bb3 rustc_target: move in syntax::abi and flip dependency. 2018-04-26 17:49:16 +03:00
Tyler Mandry
98546f8b26 Make Binder's field private and clean up its usage 2018-04-24 22:12:07 -05:00
Niko Matsakis
6288faa3a3 trans_apply_param_substs => subst_and_normalize_erasing_regions
Consolidate `trans_apply_param_substs` and
`trans_apply_param_substs_env`. Also remove `trans_impl_self_ty`
2018-03-13 11:22:08 -04:00
Niko Matsakis
e4728e494e transition various normalization functions to the new methods
In particular:

- `fully_normalize_monormophic_ty` => `normalize_erasing_regions`
- `normalize_associated_type_in_env` => `normalize_erasing_regions`
- `fully_normalize_associated_types_in` => `normalize_erasing_regions`
- `erase_late_bound_regions_and_normalize` => `normalize_erasing_late_bound_regions`
2018-03-13 11:22:07 -04:00
Niko Matsakis
6d0f9319df refactor ParamEnv::empty(Reveal) into two distinct methods
- `ParamEnv::empty()` -- does not reveal all, good for typeck
- `ParamEnv::reveal_all()` -- does, good for trans
- `param_env.with_reveal_all()` -- converts an existing parameter environment
2018-03-13 11:21:30 -04:00
Oliver Schneider
38b5ddd39b
Add a variant to ConstVal for storing miri results 2018-03-08 08:06:07 +01:00
Wesley Wiser
4f840a683a Add inline to TransFnAttrs
Part of #47320
2018-03-06 19:58:02 -05:00