about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2016-02-17Rollup merge of #31694 - oconnor663:insertdocs, r=steveklabnikSteve Klabnik-9/+14
The first time I read the docs for `insert()`, I thought it was saying it didn't update existing *values*, and I was confused. Reword the docs to make it clear that `insert()` does update values.
2016-02-17Rollup merge of #31679 - GuillaumeGomez:long_error_explanation, r=ManishearthSteve Klabnik-136/+223
r? @Manishearth
2016-02-17Rollup merge of #31565 - SDX2000:docfixes4, r=steveklabnikSteve Klabnik-9/+53
See title and diff for more information.
2016-02-17Auto merge of #31718 - apasel422:issue-31711, r=blussbors-1/+4
This changes the performance of `drop` from linear to constant time for such `HashMap`s. Closes #31711. r? @bluss
2016-02-17Made v2 mutable so that we can actually truncate it.Sandeep Datta-2/+2
2016-02-17Auto merge of #31696 - apasel422:placement, r=pnkfelixbors-2/+150
CC #30172. r? @pnkfelix CC @nagisa
2016-02-17Auto merge of #31685 - petrochenkov:patrefact2, r=eddybbors-423/+416
And split `PatKind::Enum` into `PatKind::TupleStruct` and `PatKind::Path`. This is the HIR part of https://github.com/rust-lang/rust/pull/31581. This is also kind of a preparation for https://github.com/rust-lang/rfcs/pull/1492. r? @eddyb
2016-02-17Auto merge of #31717 - alexcrichton:llvmup2, r=brsonbors-1/+76
This commit rebases our LLVM submodule on the most recent tip of the `release_38` branch of LLVM. There's been a few fixes and this notably fixes the assertion error in #31702. Closes #31702
2016-02-16Implement placement-in protocol for `LinkedList`Andrew Paseltiner-2/+150
CC #30172.
2016-02-16Avoid iteration when dropping `HashMap`s whose items don't need droppingAndrew Paseltiner-1/+4
This changes the performance of `drop` from linear to constant time for such `HashMap`s. Closes #31711.
2016-02-16rustc: Rebase LLVM on the 3.8 release branchAlex Crichton-1/+76
This commit rebases our LLVM submodule on the most recent tip of the `release_38` branch of LLVM. There's been a few fixes and this notably fixes the assertion error in #31702.
2016-02-16Auto merge of #31680 - arielb1:fast-fulfill, r=nikomatsakisbors-14/+68
this improves typeck performance by 5% (LLVM times are still huge). Basically fixes #25916 (still O(n^2), but the example takes <1s to compile). r? @nikomatsakis
2016-02-16Auto merge of #31534 - jseyfried:restrict_noninline_mod, r=nikomatsakisbors-8/+34
This PR disallows non-inline modules without path annotations that are either in a block or in an inline module whose containing file is not a directory owner (fixes #29765). This is a [breaking-change]. r? @nikomatsakis
2016-02-16Auto merge of #30714 - wesleywiser:fix_29914, r=arielb1bors-8/+53
The issue was that the const evaluator was returning an error because the feature flag const_indexing wasn't turned on. The error was then reported as a bug. Fixes #29914
2016-02-16Auto merge of #31675 - pitdicker:fs_metadata, r=alexcrichtonbors-28/+26
Because we no longer use `GetFileAttributesExW` FileAttr is never created directly from `WIN32_FILE_ATTRIBUTE_DATA` anymore. So we should no longer store FileAttr's attributes in that c struct. r? @alexcrichton Is this what you had in mind?
2016-02-16Auto merge of #31672 - semarie:rmake-cxx, r=alexcrichtonbors-0/+1
use CXX value found at configure time inside run-make tests. it permits OpenBSD to pass llvm-module-pass test (which use CXX variable). r? @alexcrichton
2016-02-16Auto merge of #31669 - frewsxcv:llvm-function-pass-rmake-test, r=alexcrichtonbors-17/+78
Part of https://github.com/rust-lang/rust/issues/31185. Similar to https://github.com/rust-lang/rust/pull/31391.
2016-02-16Auto merge of #31668 - cuviper:lfs, r=alexcrichtonbors-11/+14
This follows the pattern already used for stat functions from #31551. Now `ftruncate`, `lseek`, and `readdir_r` use their explicit 64-bit variants for LFS support, using wider `off_t` and `dirent` types. This also updates to `open64`, which uses no different types but implies the `O_LARGEFILE` flag. Non-Linux platforms just map their normal functions to the 64-bit names. r? @alexcrichton
2016-02-16pass CXX to run-makeSébastien Marie-0/+1
use CXX value found at configure time inside run-make tests. it permits OpenBSD to pass llvm-module-pass test (which use CXX variable).
2016-02-15clarify how insert() doesn't update keysJack O'Connor-9/+14
The first time I read the docs for `insert()`, I thought it was saying it didn't update existing *values*, and I was confused. Reword the docs to make it clear that `insert()` does update values.
2016-02-16Fix wrong help message left in #31368Johan Lorenzo-1/+1
2016-02-16Clarify contiguous memory array structure of vectors in documentationDirk Gadsden-5/+12
Closes #31554. Contributes to #29380.
2016-02-16doc pages: add the ability to search unknown typesBrandon W Maister-4/+4
This enables `*` in all type positions in doc searches, which I often want in order to find functions that create or convert specific types (e.g. `* -> vec`) but I don't actually know what kinds of input they expect. I actually started working on this because of #31598, but I've wanted it several times when exploring new crates.
2016-02-16Add lint to check that all crates have #![unstable]Keith Yeung-0/+18
2016-02-16Split PatKind::Enum into PatKind::TupleStruct and PatKind::PathVadim Petrochenkov-142/+137
2016-02-15Auto merge of #31530 - dirk:dirk/restrict-matching-of-cfg-opts, r=alexcrichtonbors-4/+27
Fixes #31497.
2016-02-15Auto merge of #31663 - nodakai:cleanup-uint_module, r=alexcrichtonbors-7/+7
2016-02-15use stalled_on in all obligation typesAriel Ben-Yehuda-14/+68
this improves typeck performance by 5% (LLVM times are still huge). Basically fixes #25916 (still O(n^2), but the example takes <1s to compile).
2016-02-15Global error explanations improvementsggomez-136/+223
2016-02-15Add LLVM FunctionPass regression test using run-make.Corey Farwell-17/+78
Part of https://github.com/rust-lang/rust/issues/31185. Similar to https://github.com/rust-lang/rust/pull/31391.
2016-02-15Auto merge of #31656 - jonas-schievink:mirdump, r=nrcbors-1/+49
This allows obtaining a textual MIR dump for individual items or all items in the crate. I haven't added any tests since ~~I'm too lazy~~ this is an unstable debugging option, but I'll add one if required. MIR for a single function can now be dumped using `rustc -Zunstable-options --unpretty mir=my_function` and no longer requires the use of in-source `#[rustc_mir]` attributes. Blocks rust-lang/rust-playpen#154 (if MIR dump support from the playpen is even wanted). Example output: ```rust fn main() { let x = Some(0); x.unwrap_or_else(|| 1); } ``` ``` MIR for expr || 1 (id=16) fn(arg0: [closure@test.rs:3:22: 3:26]) -> i32 { let mut tmp0: (); bb0: { return = const 1; goto -> bb1; } bb1: { return; } } MIR for fn main::main (id=4) fn() -> () { let var0: core::option::Option<i32>; // x let mut tmp0: (); let mut tmp1: i32; let mut tmp2: core::option::Option<i32>; let mut tmp3: [closure@test.rs:3:22: 3:26]; bb0: { var0 = core::option::Option::Some(const 0); tmp2 = var0; tmp3 = [closure@test.rs:3:22: 3:26]; tmp1 = core::option::Option<T>::unwrap_or_else(tmp2, tmp3) -> bb2; } bb1: { return; } bb2: { drop(tmp1) -> bb3; } bb3: { return = (); goto -> bb1; } } ```
2016-02-15Refactor windows::fs::FileAttrPaul Dicker-28/+26
Because we no longer use `GetFileAttributesExW` FileAttr is never created directly from `WIN32_FILE_ATTRIBUTE_DATA` anymore. So we should no longer store FileAttr's attributes in that c struct.
2016-02-15Auto merge of #31653 - tomaka:emscripten-abi, r=eddybbors-4/+54
Needs a correct review because I'm not too confident with how this works. All tests related to the C ABI are now passing. References: - https://github.com/kripken/emscripten-fastcomp-clang/blob/dbe68fecd03d6f646bd075963c3cc0e7130e5767/lib/CodeGen/TargetInfo.cpp#L479-L489 - https://github.com/kripken/emscripten-fastcomp-clang/blob/dbe68fecd03d6f646bd075963c3cc0e7130e5767/lib/CodeGen/TargetInfo.cpp#L466-L477 The `classifyArgumentType` function has two different paths depending on `RAA == CGCXXABI::RAA_DirectInMemory`, but I don't really know what's the corresponding option in Rust. cc @brson @eddyb
2016-02-15Auto merge of #31652 - semarie:openbsd-os-raw, r=alexcrichtonbors-1/+0
remove unused import that cause an error at compile-time. r? @alexcrichton
2016-02-15Auto merge of #31648 - jseyfried:fix_diagnostics, r=nrcbors-92/+43
This PR fixes two unrelated diagnostics bugs in resolve. First, it reports privacy errors for an import only after the import resolution is determined, fixing #31402. Second, it expands the per-module map from block ids to anonymous modules so that it also maps module declarations ids to modules, and it uses this map to in `with_scope` to fix #31644. r? @nrc
2016-02-14Rename `error-index-generator` to `error_index_generator`Dirk Gadsden-0/+0
This is because the tool compiler passes the name of the tool as a command line `--cfg`. The improved session config parser is stricter and no longer permits invalid meta items (such as "error-index-generator").
2016-02-15Auto merge of #31566 - jseyfried:fix_regression, r=nrcbors-1/+2
This fixes a regression caused by #31461 allowing extern crates to be glob imported, and it fixes the test that was supposed to catch it. r? @nrc
2016-02-15Auto merge of #31555 - nrc:err-recover, r=pnkfelixbors-125/+330
Recover from missing brackets in the parser
2016-02-14std: use LFS open64 on LinuxJosh Stone-3/+3
2016-02-14std: use LFS readdir64_r on LinuxJosh Stone-5/+7
2016-02-14std: use LFS lseek64 on LinuxJosh Stone-7/+7
2016-02-14std: use LFS ftruncate64 on LinuxJosh Stone-3/+4
2016-02-14Stricter matching of `--cfg` options on rustcDirk Gadsden-4/+27
Includes compile-fail test to check that it fails on incomplete `--cfg` matches. Fixes #31497.
2016-02-15RebasingNick Cameron-2/+2
2016-02-15libcore/num: Remove unused macro argument.NODA, Kai-7/+7
It is no longer necessary after dd0d495f50e2d8ba501e6b003cb4c1ef52d95ed5 Signed-off-by: NODA, Kai <nodakai@gmail.com>
2016-02-14Auto merge of #31661 - steveklabnik:rollup, r=steveklabnikbors-9/+8
- Successful merges: #31607, #31649, #31655, #31658 - Failed merges:
2016-02-14Rollup merge of #31658 - felgru:master, r=steveklabnikSteve Klabnik-1/+1
In the Rust code above this block of compiler output, the function is called print_sum, so use the same function name in the error message.
2016-02-14Rollup merge of #31655 - ollie27:patch-4, r=steveklabnikSteve Klabnik-5/+5
r? @steveklabnik
2016-02-14Rollup merge of #31649 - fbergr:doc, r=steveklabnikSteve Klabnik-1/+1
2016-02-14Rollup merge of #31607 - steveklabnik:gh31599, r=brsonSteve Klabnik-2/+1
Fixes #31599