summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2016-09-23Merge pull request #36687 from brson/beta-next 1.12.0Brian Anderson-2/+0
Remove reverted feature from relnotes
2016-09-23Remove reverted feature from relnotesBrian Anderson-2/+0
2016-09-23Merge pull request #36686 from brson/beta-nextBrian Anderson-21/+1
Beta next
2016-09-23Bump beta to .6Brian Anderson-1/+1
2016-09-23Revert "implement `From<Vec<char>>` and `From<&'a [char]>` for `String`"Brian Anderson-20/+0
This reverts commit ac73335f2f5421c914fa3900567696cc6dc73d8d.
2016-09-21Merge pull request #36634 from brson/beta-nextBrian Anderson-2/+2
[beta] Fix optimization regressions for operations on [x; n]-initialized arr…
2016-09-21Fix optimization regressions for operations on [x; n]-initialized arrays.Eduard Burtescu-2/+2
2016-09-21Merge pull request #36633 from brson/beta-nextBrian Anderson-0/+261
[beta] Add changelog for 1.12
2016-09-21Add changelog for 1.12Brian Anderson-0/+261
2016-09-21Merge pull request #36628 from nikomatsakis/backport-issue-36496Brian Anderson-5/+47
Backport #36496
2016-09-21Merge pull request #36630 from brson/beta-nextBrian Anderson-1/+1
Bump to 1.12.0-beta.5
2016-09-21Bump to 1.12.0-beta.5Brian Anderson-1/+1
2016-09-21Workaround #34427 by using memset of 0 on ARM to set the discriminant.Felix S. Klock II-5/+47
Conflicts: src/librustc_trans/adt.rs
2016-09-21Merge pull request #36620 from pnkfelix/beta-nextNiko Matsakis-31/+133
Beta backports
2016-09-21fix PR 36459 post backport to beta.Felix S. Klock II-2/+3
2016-09-21add missing testNiko Matsakis-0/+28
2016-09-21invoke drop glue with a ptr to (data, meta)Niko Matsakis-3/+21
This is done by creating a little space on the stack. Hokey, but it's the simplest fix I can see.
2016-09-21use `adt::trans_const` when translating constant closures and tuplesAriel Ben-Yehuda-28/+83
Fixes #36401
2016-09-21Merge pull request #36608 from brson/beta-nextBrian Anderson-0/+0
[beta] Update rust-installer. Fixes #35840
2016-09-21Update rust-installer. Fixes #35840Brian Anderson-0/+0
2016-09-20Merge pull request #36606 from brson/beta-nextBrian Anderson-1/+0
Fix build error
2016-09-20Fix build errorBrian Anderson-1/+0
2016-09-20Merge pull request #36602 from brson/beta-nextBrian Anderson-1/+1
Bump to beta.4
2016-09-20Bump to beta.4Brian Anderson-1/+1
2016-09-20Merge pull request #36591 from brson/beta-nextBrian Anderson-40/+74
Beta backports
2016-09-19Remove data structure specialization for .zip() iteratorUlrik Sverdrup-38/+31
Go back on half the specialization, the part that changed the Zip struct's fields themselves depending on the types of the iterators. This means that the Zip iterator will always carry two usize fields, which are unused. If a whole for loop using a .zip() iterator is inlined, these are simply removed and have no effect. The same improvement for Zip of for example slice iterators remain, and they still optimize well. However, like when the specialization of zip was merged, the compiler is still very sensistive to the exact context. For example this code only autovectorizes if the function is used, not if the code in zip_sum_i32 is inserted inline it was called: ``` fn zip_sum_i32(xs: &[i32], ys: &[i32]) -> i32 { let mut s = 0; for (&x, &y) in xs.iter().zip(ys) { s += x * y; } s } fn zipdot_i32_default_zip(b: &mut test::Bencher) { let xs = vec![1; 1024]; let ys = vec![1; 1024]; b.iter(|| { zip_sum_i32(&xs, &ys) }) } ``` Include a test that checks that Zip<T, U> is covariant w.r.t. T and U.
2016-09-19Default RUST_MIN_STACK to 16MiB for nowSimonas Kazlauskas-1/+2
2016-09-19Up the LLVMSimonas Kazlauskas-1/+41
Fixes #36474
2016-09-16Merge pull request #36538 from brson/beta-nextBrian Anderson-4/+48
Beta backports
2016-09-16Make `private_in_public` compatibility lint warn-by-default againVadim Petrochenkov-3/+11
2016-09-16Fix issue #36036.Felix S. Klock II-1/+37
We were treating an associated type as unsized even when the concrete instantiation was actually sized. Fix is to normalize before checking if it is sized.
2016-09-16Merge pull request #36517 from brson/beta-bumpAlex Crichton-1/+1
Bump beta to .3
2016-09-16Bump beta to .3Brian Anderson-1/+1
2016-09-16Merge pull request #36433 from alexcrichton/beta-nextBrian Anderson-4/+129
Backport PRs to beta
2016-09-12llvm: backport "[SimplifyCFG] Hoisting invalidates metadata".Eduard Burtescu-1/+33
2016-09-12memrchr: Use a conditional instead of subtracting a complicated minUlrik Sverdrup-1/+1
This makes the critical calculation easier to understand.
2016-09-12memrchr: Correct aligned offset computationUlrik Sverdrup-1/+23
The memrchr fallback did not compute the offset correctly. It was intentioned to land on usize-aligned addresses but did not. This was suspected to resulted in a crash on ARMv7 platform! This bug affected non-linux platforms. I think like this, if we have a slice with pointer `ptr` and length `len`, we want to find the last usize-aligned offset in the slice. The correct computation should be: For example if ptr = 1 and len = 6, and size_of::<usize>() is 4: [ x x x x x x ] 1 2 3 4 5 6 ^-- last aligned address at offset 3 from the start. The last aligned address is ptr + len - (ptr + len) % usize_size. Compute offset from the start as: offset = len - (ptr + len) % usize_size = 6 - (1 + 6) % 4 = 6 - 3 = 3. I believe the function's return value was always correct previously, if the platform supported unaligned addresses.
2016-09-12rustc_trans: do not generate allocas for unused locals.Eduard Burtescu-0/+24
2016-09-12typeck: use NoExpectation to check return type of diverging fnAlex Burka-2/+49
This fixes #35849, a regression introduced by the typeck refactoring around TyNever/!.
2016-08-24Merge pull request #35914 from alexcrichton/beta-nextBrian Anderson-94/+379
Backport PRs to beta
2016-08-22mk: Bump the beta version to .2Alex Crichton-1/+1
2016-08-22Nice graphsSimonas Kazlauskas-12/+48
2016-08-22Properly invalidate the early exit cacheSimonas Kazlauskas-20/+60
Fixes #35737
2016-08-221.11 changelogBrian Anderson-0/+177
2016-08-22Make `vec::IntoIter` covariant againAndrew Paseltiner-7/+11
Closes #35721
2016-08-22std: Stabilize APIs for the 1.12 releaseAlex Crichton-66/+94
Stabilized * `Cell::as_ptr` * `RefCell::as_ptr` * `IpAddr::is_{unspecified,loopback,multicast}` * `Ipv6Addr::octets` * `LinkedList::contains` * `VecDeque::contains` * `ExitStatusExt::from_raw` - both on Unix and Windows * `Receiver::recv_timeout` * `RecvTimeoutError` * `BinaryHeap::peek_mut` * `PeekMut` * `iter::Product` * `iter::Sum` * `OccupiedEntry::remove_entry` * `VacantEntry::into_key` Deprecated * `Cell::as_unsafe_cell` * `RefCell::as_unsafe_cell` * `OccupiedEntry::remove_pair` Closes #27708 cc #27709 Closes #32313 Closes #32630 Closes #32713 Closes #34029 Closes #34392 Closes #34285 Closes #34529
2016-08-16Merge pull request #35723 from brson/beta-nextAlex Crichton-2/+2
Bump boostrap compilers
2016-08-16Bump boostrap compilersBrian Anderson-2/+2
2016-08-16Auto merge of #35617 - jseyfried:fix_unused_cfg_attr_path, r=eddybbors-2/+19
Fix incorrect unused import warnings on `cfg_attr`ed `path` attributes Fixes #35584. r? @eddyb
2016-08-16Auto merge of #35162 - canndrew:bang_type_coerced, r=nikomatsakisbors-705/+899
Implement the `!` type This implements the never type (`!`) and hides it behind the feature gate `#[feature(never_type)]`. With the feature gate off, things should build as normal (although some error messages may be different). With the gate on, `!` is usable as a type and diverging type variables (ie. types that are unconstrained by anything in the code) will default to `!` instead of `()`.