summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2017-06-05Prepare 1.18.0 stable release artifactsAlex Crichton-1/+1
These'll upload to dev first and we'll promote them to stable later this week when we actually do the release.
2017-06-01Fix regression in `macro_rules!` name matching.Jeffrey Seyfried-5/+36
2017-05-27Auto merge of #42221 - brson:beta-next, r=alexcrichtonbors-1/+1
[beta] Bump prerelease version
2017-05-25Bump prerelease versionBrian Anderson-1/+1
2017-05-25Update OpenSSL download locationAlex Crichton-4/+6
2017-05-24box large variants in MIRAriel Ben-Yehuda-40/+42
Operand: 72 -> 24 B Statement: 192 -> 96 B Terminator: 256 -> 112 B librustc translation memory usage: 1795 -> 1669 MB next step would be interning lvalues, I suppose?
2017-05-24Auto merge of #42182 - nikomatsakis:beta, r=brsonbors-113/+452
Beta backports Backports of: - #41913 (or some of it) - #41937 - #41716 - #41563
2017-05-24Make sure openssl compiles with only one coreAidan Hobson Sayers-1/+1
Fixes #40417
2017-05-23do not fetch variance for items when equatingNiko Matsakis-31/+98
Fixes #41849. Problem was that evaluating the constant expression required evaluating a trait, which would equate types, which would request variance information, which it would then discard. However, computing the variance information would require determining the type of a field, which would evaluate the constant expression. (This problem will potentially arise *later* as we move to more sophisticated constants, however, where we need to check subtyping. We can tackle that when we come to it.)
2017-05-23use equality in the coerce-unsized checkNiko Matsakis-2/+106
This seems both to be a safe, conservative choice, and it sidesteps the cycle in #41936. Fixes #41936.
2017-05-23correct various error messages that changedNiko Matsakis-10/+9
The new messages seem universally better. I think these result because we recognize that we are in an invariant context more often.
2017-05-23add a WF obligation if a type variable appears in bivariant positionNiko Matsakis-18/+106
2017-05-23replace the type generalizer with one based on varianceNiko Matsakis-65/+146
2017-05-23Bump the prerelease versionBrian Anderson-1/+1
2017-05-23Stabilize library features for 1.18.0Steven Fackler-77/+27
Closes #38863 Closes #38980 Closes #38903 Closes #36648
2017-05-23Fix regression on `include!(line!())`.Jeffrey Seyfried-5/+18
2017-05-22try to fix lvalue ops for realAriel Ben-Yehuda-17/+109
Hopefully this is the last PR needed. Fixes #41726. Fixes #41742. Fixes #41774.
2017-05-22refactor the handling of lvalue opsAriel Ben-Yehuda-230/+204
Fixes #41604.
2017-05-11Bump beta to .2Brian Anderson-1/+1
2017-05-10Added test for #41479 from @eddyb.Cameron Hart-0/+18
2017-05-10Add missing struct field index adjustments.Cameron Hart-3/+18
Some accesses in OperandPairs were missing. Fixes #41479.
2017-05-10typeck: resolve type vars before calling `try_index_step`Ariel Ben-Yehuda-2/+49
`try_index_step` does not resolve type variables by itself and would fail otherwise. Also harden the failure path in `confirm` to cause less confusing errors.
2017-05-10Try fixing bigendian metadata serialisationSimonas Kazlauskas-1/+1
I compiled this on PPC to check and it seems to work, but not sure whether I didn't mess up anything in a major way. Maybe a good shot at #41443
2017-04-27Boostrap beta from the real stable compilerAlex Crichton-5/+5
Routine update from the dev-static urls to the static urls, updating dates as well. Should be the same artifacts.
2017-04-24Prepare the 1.18.0 beta releaseAlex Crichton-12/+12
* Update the cargo submodule * Update the stage0 bootstrap compiler, temporarily downloading it from dev-static.rust-lang.org until it's released this Thursday. * Update release channel being compiled to beta * Disable the RLS release (will only happen on this one beta release)
2017-04-24Add more explanation on RefCell::get_mutGuillaume Gomez-0/+9
2017-04-24Feature gate in test.Without Boats-0/+2
2017-04-24Style.Without Boats-3/+3
2017-04-24Fix type error.Without Boats-1/+1
2017-04-24Add compile-fail test.Without Boats-1/+27
2017-04-23Associated consts are not object safe.Without Boats-0/+9
2017-04-23Auto merge of #41486 - arielb1:select-where, r=eddybbors-1/+6
traits::select: quickly filter out predicates from other traits this improves most pre-trans passes's performance by ~1%. That missed the spring cleaning PR because I wanted to ship it. r? @eddyb
2017-04-23cache ADT dtorck resultsAriel Ben-Yehuda-398/+299
This avoids visiting the fields of all structs multiple times, improving item-bodies checking time by 10% (!).
2017-04-23traits::select: quickly filter out predicates from other traitsAriel Ben-Yehuda-1/+6
this improves most pre-trans passes's performance by ~1%.
2017-04-23clean-up adt_sized_constraint now that it uses on-demandAriel Ben-Yehuda-49/+21
2017-04-23rustc_const_eval: support all unit enum variants.Eduard-Mihai Burtescu-67/+180
2017-04-23rustc_const_eval: CallOn isn't needed, typeck/const-qualif handle those cases.Eduard-Mihai Burtescu-3/+1
2017-04-23rustc: make the const-eval cache polymorphic.Eduard-Mihai Burtescu-149/+150
2017-04-23Auto merge of #41437 - cuviper:remove-unstable-deprecated, r=alexcrichtonbors-1284/+103
Remove items that are unstable and deprecated This removes unstable items that have been deprecated for more than one cycle. - Since 1.16.0, `#![feature(enumset)]` - All of `mod collections::enum_set` - Since 1.15.0, `#![feature(borrow_state)]` - `cell::BorrowState` - `RefCell::borrow_state()` - Since 1.15.0, `#![feature(is_unique)]` - `Rc::is_unique()` (made private like `Arc::is_unique()`) - Since 1.15.0, `#![feature(rc_would_unwrap)]` - `Rc::would_wrap()` - Since 1.13.0, `#![feature(binary_heap_extras)]` - `BinaryHeap::push_pop()` - `BinaryHeap::replace()` - Since 1.12.0, `#![feature(as_unsafe_cell)]` - `Cell::as_unsafe_cell()` - `RefCell::as_unsafe_cell()` - Since 1.12.0, `#![feature(map_entry_recover_keys)]` - `btree_map::OccupiedEntry::remove_pair()` - `hash_map::OccupiedEntry::remove_pair()` - Since 1.11.0, `#![feature(float_extras)]` - `Float::nan()` - `Float::infinity()` - `Float::neg_infinity()` - `Float::neg_zero()` - `Float::zero()` - `Float::one()` - `Float::integer_decode()` - `f32::integer_decode()` - `f32::ldexp()` - `f32::frexp()` - `f32::next_after()` - `f64::integer_decode()` - `f64::ldexp()` - `f64::frexp()` - `f64::next_after()` - Since 1.11.0, `#![feature(zero_one)]` - `num::Zero` - `num::One`
2017-04-22Remove unused import.Corey Farwell-1/+1
2017-04-22Auto merge of #41469 - arielb1:rustc-spring-cleaning, r=eddybbors-185/+322
Performance audit, Spring 2017 Fix up some quite important performance "surprises" I've found running callgrind on rustc.
2017-04-22bail out of selection when there are multiple surviving candidatesAriel Ben-Yehuda-7/+7
In some cases (e.g. <[int-var] as Add<[int-var]>>), selection can turn up a large number of candidates. Bailing out early avoids O(n^2) performance. This improves item-type checking time by quite a bit, resulting in ~2% of total time-to-typeck.
2017-04-22add a cache to impl_polarityAriel Ben-Yehuda-16/+15
this is another one of these things that looks *much* worse on valgrind.
2017-04-22allocate less strings in `symbol_names`Ariel Ben-Yehuda-52/+52
this improves trans performance by *another* 10%.
2017-04-22weak_lang_items: check for `lang` attribute before calling `value_str`Ariel Ben-Yehuda-3/+4
improves trans performance by *another* 10%.
2017-04-22cache attributes of items from foreign cratesAriel Ben-Yehuda-23/+85
this avoids parsing item attributes on each call to `item_attrs`, which takes off 33% (!) of translation time and 50% (!) of trans-item collection time.
2017-04-22short-cut SharedCrateContext::layout_ofAriel Ben-Yehuda-28/+38
That method is *incredibly* hot, so this ends up saving 10% of trans time. BTW, we really should be doing dependency tracking there - and possibly be taking the respective perf hit (got to find a way to make DTMs fast), but `layout_cache` is a non-dep-tracking map.
2017-04-22avoid calling `mk_region` unnecessarilyAriel Ben-Yehuda-55/+85
this improves typeck & trans performance by 1%. This looked hotter on callgrind than it is on a CPU.
2017-04-22remove cleanup branches to the resume blockAriel Ben-Yehuda-1/+36
This improves LLVM performance by 10% lost during the shimmir transition.
2017-04-22Auto merge of #41431 - GuillaumeGomez:hoedown-default, r=aturonbors-165/+394
Re-enable hoedown by default r? @rust-lang/docs cc @aturon