about summary refs log tree commit diff
path: root/src/librustc_mir/transform
AgeCommit message (Collapse)AuthorLines
2018-04-26Auto merge of #50253 - nikomatsakis:regressions-2018-04-26, r=eddybbors-1/+1
drop elaboration should reveal all This used to happen implicitly through the normalization function; but we now keep the param-env as is, which seems less surprising. cc #49685 r? @eddyb
2018-04-26use `reveal_all` during drop elaborationNiko Matsakis-1/+1
This used to happen by default as part of the normalization routine that was being used.
2018-04-26rustc_target: move in syntax::abi and flip dependency.Irina Popa-3/+3
2018-04-26rustc_target: move LayoutOf's type parameter to an associated type.Irina Popa-1/+2
2018-04-23Auto merge of #49779 - oli-obk:const_err_regression, r=eddybbors-2/+2
Don't report compile-time errors for promoteds Fixes the regression part of #49760, the missing warnings still are missing r? @eddyb
2018-04-20Pass the right type to box_free() in MIRMike Hommey-63/+2
Currently, MIR just passes the raw Box to box_free(), which happens to work because practically, it's the same thing. But that might not be true in the future, with Box<T, A: Alloc>. The MIR inline pass actually fixes up the argument while inlining box_free, but this is not enabled by default and doesn't necessarily happen (the inline threshold needs to be passed). This change effectively moves what the MIR inline pass does to the elaborate_drops pass, so that box_free() is passed the raw pointer instead of the Box.
2018-04-18Clarified E0015 message, r=estebankkrk-2/+2
2018-04-15Only warn on erroneous promoted constantsOliver Schneider-2/+2
2018-03-27Auto merge of #49202 - csmoe:trait_engine, r=nikomatsakisbors-1/+1
Introduce trait engine address #48895 step 1: introduce trait engine
2018-03-25Rollup merge of #49194 - Zoxc:unsafe-generator, r=cramertjkennytm-10/+2
Make resuming generators unsafe instead of the creation of immovable generators cc @withoutboats Fixes #47787
2018-03-23import trait engine to typeckcsmoe-1/+1
2018-03-22Added initial processing of UserAssertTy statements.David Wood-17/+25
2018-03-22Killing UserAssertTy in CleanupPostBorrowck pass.David Wood-17/+46
2018-03-22Added UserAssertTy statement.David Wood-0/+6
2018-03-21Make resuming generators unsafe instead of the creation of immovable ↵John Kåre Alsaker-10/+2
generators. Fixes #47787
2018-03-14Add note about fallback to `!: !Trait` errorAndrew Cann-1/+1
2018-03-14remove defaulting to unitAndrew Cann-1/+1
Types will no longer default to `()`, instead always defaulting to `!`. This disables the associated warning and removes the flag from TyTuple
2018-03-13`trans_apply_param_substs` => `subst_and_normalize_erasing_regions`Niko Matsakis-27/+7
Consolidate `trans_apply_param_substs` and `trans_apply_param_substs_env`. Also remove `trans_impl_self_ty`
2018-03-13refactor `ParamEnv::empty(Reveal)` into two distinct methodsNiko Matsakis-2/+2
- `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-08simplify constant value pair field accessOliver Schneider-6/+1
2018-03-08Unify the const folding errorsOliver Schneider-31/+111
before they differed depending on whether optimizations were on or not
2018-03-08Regenerate testsOliver Schneider-1/+1
2018-03-08Generator assertions are unconditionally triggeredOliver Schneider-4/+6
2018-03-08Don't use the undefined bytes of PrimVal::BytesOliver Schneider-3/+2
2018-03-08Rebase falloutOliver Schneider-2/+2
2018-03-08Unregress error spans in constant errorsOliver Schneider-1/+1
2018-03-08Tidy fixOliver Schneider-4/+2
2018-03-08Update testsOliver Schneider-1/+1
2018-03-08Report all errors other than those about insufficient type informationOliver Schneider-2/+4
2018-03-08Compute the ParamEnv only once and use it to call tcx.const_evalOliver Schneider-9/+25
2018-03-08Can only const prop temporariesOliver Schneider-1/+6
Variables might error in branches that are not reachable due to the variable value.
2018-03-08Simplify const propagator by removing unused code pathsOliver Schneider-71/+52
2018-03-08Rename OptimizationFinder and don't propagate any borrowsOliver Schneider-38/+12
2018-03-08Simplify const prop checks through PlaceContextOliver Schneider-53/+51
2018-03-08Figure out const propgatable locals in a single passOliver Schneider-28/+30
2018-03-08Update testsOliver Schneider-3/+4
2018-03-08Only report bitshift lints on bitshift opsOliver Schneider-14/+16
2018-03-08Use IndexVec instead of FxHashMapOliver Schneider-24/+19
2018-03-08Merge const linting pass into const propOliver Schneider-1/+23
2018-03-08Remove single field struct by just using the fieldOliver Schneider-9/+4
2018-03-08Remove the fragile const propagator and just do lintingOliver Schneider-123/+3
2018-03-08Fix ICE in const propOliver Schneider-2/+4
2018-03-08Revert all changes to the instcombine passOliver Schneider-22/+76
2018-03-08Split const prop into its own passOliver Schneider-439/+520
2018-03-08Don't use scary block reorderingsOliver Schneider-56/+4
2018-03-08Rename ConstVal::to_u128 to to_raw_bitsOliver Schneider-1/+1
2018-03-08Destructure Rc wrapped ErrorKind in miriOliver Schneider-5/+1
2018-03-08Enable const prop to also evaluate constants, not just literalsOliver Schneider-18/+46
2018-03-08Add InterpretInterner to StableHashingContext for AllocId serializationOliver Schneider-27/+28
2018-03-08Fully use miri in transOliver Schneider-13/+476