summary refs log tree commit diff
path: root/src/librustc_metadata/tyencode.rs
AgeCommit message (Collapse)AuthorLines
2016-08-13Rename empty/bang to neverAndrew Cann-1/+1
Split Ty::is_empty method into is_never and is_uninhabited
2016-08-13Remove obsolete divergence related stuffAndrew Cann-8/+1
Replace FnOutput with Ty Replace FnConverging(ty) with ty Purge FnDiverging, FunctionRetTy::NoReturn and FunctionRetTy::None
2016-08-13Start implementation of RFC 1216 (make ! a type)Andrew Cann-0/+1
Add `TyKind::Empty` and fix resulting build errors.
2016-08-12rustc: add TyAnon (impl Trait) to the typesystem.Eduard Burtescu-0/+5
2016-07-12tyencode: Make sure that projection bounds are handled in stable order.Michael Woerister-1/+8
2016-07-03prefer `if let` to match with `None => {}` arm in some placesZack M. Davis-3/+3
This is a spiritual succesor to #34268/8531d581, in which we replaced a number of matches of None to the unit value with `if let` conditionals where it was judged that this made for clearer/simpler code (as would be recommended by Manishearth/rust-clippy's `single_match` lint). The same rationale applies to matches of None to the empty block.
2016-06-23Move errors from libsyntax to its own crateJonathan Turner-1/+1
2016-06-05rustc: add ReErased to be used by trait selection, MIR and trans.Eduard Burtescu-0/+3
2016-05-31add `Issue32330` warning marker to bound regionsNiko Matsakis-4/+11
This indicates whether this `BoundRegion` will change from late to early bound when issue 32330 is fixed. It also indicates the function on which the lifetime is declared.
2016-05-11rustc: More interning for data used in Ty<'tcx>.Eduard Burtescu-4/+4
2016-05-11rustc: Split 'tcx into 'gcx and 'tcx for InferCtxt and its users.Eduard Burtescu-2/+2
2016-05-11rustc: Replace &'a TyCtxt<'tcx> with a TyCtxt<'a, 'tcx> wrapper.Eduard Burtescu-2/+2
2016-05-03change the newly-added errors to warningsAriel Ben-Yehuda-0/+3
this commit should be reverted after a release cycle
2016-04-13Auto merge of #32780 - soltanmm:consider-the-following, r=nikomatsakisbors-0/+8
Replace consider_unification_despite_ambiguity with new obligation variant Is work towards #32730. Addresses part one of #32286. Addresses #24210 and #26046 to some degree. r? @nikomatsakis
2016-04-06Replace consider_unification_despite_ambiguity with obligation variantMasood Malekghassemi-0/+8
2016-04-06rustc: move middle::{def,def_id,pat_util} to hir.Eduard Burtescu-1/+1
2016-04-06rustc: move rustc_front to rustc::hir.Eduard Burtescu-1/+1
2016-03-31librustc_metadata: use bug!(), span_bug!()Benjamin Herr-2/+2
2016-03-27rustc: move cfg, infer, traits and ty from middle to top-level.Eduard Burtescu-4/+4
2016-03-27rustc: move middle::subst into middle::ty.Eduard Burtescu-2/+2
2016-03-25CrateStore: Allow for custom def_id_to_string mappings in encode_type().Michael Woerister-11/+11
2016-03-24remove ErasedRegions from substitutionsNiko Matsakis-14/+2
This hack has long since outlived its usefulness; the transition to trans passing around full substitutions is basically done. Instead of `ErasedRegions`, just supply substitutions with a suitable number of `'static` entries, and invoke `erase_regions` when needed (the latter of which we already do).
2016-03-09Track fn type and lifetime parameters in TyFnDef.Eduard Burtescu-1/+2
2016-03-09Split TyBareFn into TyFnDef and TyFnPtr.Eli Friedman-2/+2
There's a lot of stuff wrong with the representation of these types: TyFnDef doesn't actually uniquely identify a function, TyFnPtr is used to represent method calls, TyFnDef in the sub-expression of a cast isn't correctly reified, and probably some other stuff I haven't discovered yet. Splitting them seems like the right first step, though.
2016-03-03Rename middle::ty::ctxt to TyCtxtJeffrey Seyfried-2/+2
2016-02-11[breaking-change] don't glob export ast::{UintTy, IntTy} variantsOliver Schneider-10/+10
2016-02-11[breaking-change] don't glob export ast::FloatTy variantsOliver Schneider-2/+2
2015-12-28Use a more efficient encoding for opaque data in RBML.Michael Woerister-146/+168
2015-12-28rewrite the method-receiver matching codeAriel Ben-Yehuda-2/+1
the old code was *so terrible*.
2015-12-18Rollup merge of #30384 - nrc:diagnostics, r=@nikomatsakisManish Goregaokar-4/+4
Should make it possible to add JSON or HTML errors. Also tidies up a lot.
2015-12-17move error handling from libsyntax/diagnostics.rs to libsyntax/errors/*Nick Cameron-4/+4
Also split out emitters into their own module.
2015-12-15Ensure borrows of fn/closure params do not outlive invocations.Felix S. Klock II-0/+2
resolve_lifetime.rs: Switch from BlockScope to FnScope in ScopeChain construction. Lifetimes introduced by a fn signature are scoped to the call-site for that fn. (Note `add_scope_and_walk_fn` must only add FnScope for the walk of body, *not* of the fn signature.) region.rs: Introduce new CodeExtentData::CallSiteScope variant. Use CodeExtentData as the cx.parent, rather than just a NodeId. Change DestructionScopeData to CallSiteScopeData. regionck.rs: Thread call_site_scope via Rcx; constrain fn return values. (update; incorporated review feedback from niko.)
2015-11-26split the metadata code into rustc_metadataAriel Ben-Yehuda-0/+479
tests & rustdoc still broken