Commit Graph

48725 Commits

Author SHA1 Message Date
Peter Atashian
915cb376e9 Overhaul MSVC linker and Windows SDK detection code
Fixes https://github.com/rust-lang/rust/issues/30229

Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-12-14 18:04:35 -05:00
bors
f150c178ea Auto merge of #27937 - DiamondLovesYou:llvm-root-and-shared, r=alexcrichton
This handles cases when the LLVM used isn't configured will the 'usual' targets. Also, cases where LLVM is shared are also handled (ie with `LD_LIBRARY_PATH` etc).
2015-12-14 19:14:37 +00:00
bors
9ea4b4f01f Auto merge of #30321 - sanxiyn:E0170, r=alexcrichton
Fix #30302.
2015-12-14 16:45:02 +00:00
bors
50a02b43ba Auto merge of #29735 - Amanieu:asm_indirect_constraint, r=pnkfelix
This PR reverts #29543 and instead implements proper support for "=*m" and "+*m" indirect output operands. This provides a framework on top of which support for plain memory operands ("m", "=m" and "+m") can be implemented.

This also fixes the liveness analysis pass not handling read/write operands correctly.
2015-12-14 13:48:41 +00:00
bors
6b3a3f2702 Auto merge of #30369 - jethrogb:patch-2, r=steveklabnik
The old code returned `usize::MAX` as an error condition, which is not the Rust way.
2015-12-14 01:33:58 +00:00
bors
110df043bf Auto merge of #30351 - tamird:remove-range-inclusive, r=alexcrichton
r? @alexcrichton
2015-12-13 23:40:12 +00:00
Richard Diamond
7bd69f2248 Better support for --llvm-root.
This handles cases when the LLVM used isn't configured will the 'usual'
targets. Also, cases where LLVM is shared are also handled (ie with
`LD_LIBRARY_PATH` etc).
2015-12-13 15:05:43 -06:00
jethrogb
6e46a0fb95 Make BinaryHeap Dijkstra example return Option 2015-12-13 11:40:27 -08:00
bors
2841cc0381 Auto merge of #30348 - shepmaster:box-any-docs, r=steveklabnik 2015-12-13 18:59:08 +00:00
bors
69adc883aa Auto merge of #30343 - Seeker14491:patch-1, r=bluss
The `MIN` link was broken. Reverts #29624.
2015-12-13 17:11:36 +00:00
bors
d5cdf0687e Auto merge of #30342 - salty-horse:doc_links, r=steveklabnik
Many of the structs in `str` that are used as part of its methods do not have links to the methods.
This is especially annoying when a Google search drops you into the documentation of the struct, when you really wanted to get to the method of the same name.

This patch adds those links.
2015-12-13 15:22:03 +00:00
bors
33378f09fd Auto merge of #30339 - Manishearth:oops-i-did-it-again, r=eddyb
r? @eddyb
2015-12-13 13:34:46 +00:00
bors
5a1045699d Auto merge of #30332 - bluss:nomicon-variance, r=gankro
Update nomicon for variance typo & contravariance

Fixes #28704
Fixes #28100
2015-12-13 11:44:39 +00:00
bors
5de242f1b2 Auto merge of #30329 - salty-horse:punctuation, r=steveklabnik
Missing period at the end of a sentence.
2015-12-13 09:57:35 +00:00
bors
d382fcdb82 Auto merge of #30314 - fhahn:issue-30299-missing-fields, r=pnkfelix
This PR for #30299 adds the name of the type where the field is missing.

The span that's used for the error seems correct. What may be confusing is when the initializer with the missing field contains other intializers. These are then included in the span. For example, consider the following listing.

    struct A {
        a1: i32,
        a2: B,
    }

    struct B {
        b1: i32,
        b2: i32
    }

    fn main() {
        let x = A {
            a2: B {
                b1: 1,
                b2: 1
            },
        };
    }

It will display the following code snippet along with the message that field `a2` is missing:

        let x = A {
            a2: B {
                b1: 1,
                b2: 1
            },
        };

By adding the name of the type it's clearer where the field is missing.
2015-12-13 07:56:03 +00:00
Tamir Duberstein
d477708736 Remove duplicate test case
`match-arm-statics` covers this, but needs to be compiled with
debuginfo. However, that still produces an ICE. See #29696.
2015-12-13 01:02:23 -05:00
Tamir Duberstein
b964b1d043 remove deprecated APIs missed in #30182 2015-12-13 01:02:12 -05:00
Tamir Duberstein
722905fda0 restore tests accidentally removed in #30182 2015-12-13 01:02:12 -05:00
bors
c4c191afae Auto merge of #30324 - jseyfried:unfix_30159, r=nrc
r? @nrc
Since PR #30294 unintentionally fixed issue #30159, it can cause breakage for a different reason than I originally stated in the PR (see #30159, I characterized the issue precisely there).

This commit limits the scope of the breakage to what I originally stated in the PR by "unfixing" the backwards incompatible part of #30159.

I think fixing #30159 has enough potential for breakage to warrant a crater run. If you disagree, I can cancel this PR, leaving it fixed.
2015-12-13 05:18:19 +00:00
bors
35b6461b6e Auto merge of #30310 - mbrubeck:doc-vec-bounds, r=steveklabnik
r? @steveklabnik

Currently neither the API docs nor the book clearly explain that out-of-bounds array indexing causes a panic.  Since this is fairly important and seems to surprise a number of new Rust programmers, I think it's worth adding to both places.  (But if you think it would be better to put this info in the API docs only, that's fine too.)

Some specific things I'd like feedback on:

* The new text here talks about panicking, which hasn't been formally introduced at this point in chapter 5 (though it has been mentioned in previous sections too).
* Similarly the `Vec::get` example uses `Option<T>` which hasn't been fully introduced yet.  Should we leave out this example?
2015-12-13 01:53:06 +00:00
bors
1ddaf8bdf4 Auto merge of #30309 - alexcrichton:more-tier-two, r=steveklabnik
We've got lots of new automation set up in the past few months, so these
platforms are now all tier 2 as we're building artifacts and gating on them.
2015-12-12 23:50:03 +00:00
bors
8babb7db7e Auto merge of #30334 - dhuseby:FreeBSD_30333, r=alexcrichton
Removed the offending flag from the makefile.
2015-12-12 20:55:44 +00:00
bors
83eda08037 Auto merge of #30347 - rkruppe:misc-dec2flt-cleanup, r=alexcrichton
The landing of #30182, specifically the removal of float `from_str_radix`, allowed the refactoring in the middle commit. While I was at it, I also crossed two other nits off my TODO list.
2015-12-12 18:02:43 +00:00
bors
45a73c8c0c Auto merge of #30110 - oli-obk:pretty_const_trans, r=pnkfelix
turned some `match`es into `if let`s.
2015-12-12 14:35:43 +00:00
bors
f0ed9f9169 Auto merge of #30312 - seanmonstar:ioerror-description, r=alexcrichton
cc @pnkfelix @alexcrichton
2015-12-12 12:47:03 +00:00
bors
e583ab6281 Auto merge of #30279 - Aatch:dst-ref-binding, r=pnkfelix
We shouldn't load DSTs when recursing into the sub-pattern of `& ref ident`.

Fixes #30277
2015-12-12 11:01:12 +00:00
bors
5e82941281 Auto merge of #27929 - w00ns:issue-27889-same-field-names, r=pnkfelix
Fix for issue #27889: same field names in enum variants
2015-12-12 09:03:39 +00:00
bors
da31c148ae Auto merge of #30242 - arielb1:region-unification, r=nikomatsakis
Fixes #29844

I would prefer to
(a) make some performance measurements
(b) use the unification table in a few more places
before committing further, but this is probably good enough for beta.

r? @nikomatsakis
2015-12-12 06:18:44 +00:00
Ulrik Sverdrup
2a30f0ea41 nomicon: Mention contravariance 2015-12-12 06:14:06 +01:00
Jake Goulding
b8366b171a Correct reference to Box<Any> in Any docs 2015-12-11 18:44:11 -05:00
Robin Kruppe
c4230ea50c dec2flt: Remove unused macro argument
The argument was a remnant of an earlier, needlessly complicated implementation.
2015-12-12 00:10:15 +01:00
Robin Kruppe
2863a8ba7a dec2flt: Simplify imports and module surface
The import has been unnecessarily complicated since ParseFloatError::Invalid is not longer used unqualified.
The pfe_* functions do not need to be public any more since the only other use site, from_str_radix for floats, has been removed.
2015-12-12 00:07:42 +01:00
Robin Kruppe
6d87929bcb Remove an accent in a comment 2015-12-12 00:06:05 +01:00
Jeffrey Seyfried
de0de61dd4 Partially undo the fix of issue #30159 in PR #30294 to avoid breakage. 2015-12-11 21:21:13 +00:00
Brian Bowman
73615f7f8a Fix MIN, MAX links
The `MIN` link was broken. Reverts #29624.
2015-12-11 15:00:54 -06:00
Ori Avtalion
d01ec6ccca Add missing links to str docs 2015-12-11 22:52:28 +02:00
Manish Goregaokar
8bfdd993d0 Remove leftover debugging code (fixes #30336) 2015-12-11 15:12:50 -05:00
Dave Huseby
0c491e86f0 Fixes #30333 by removing the -arch i386 form the right spot 2015-12-11 10:53:04 -08:00
Ulrik Sverdrup
a0101624ad nomicon: Fix variance in example
&'b mut B was described incorrectly (just in this example, is correct in
the actual text).
2015-12-11 18:24:10 +01:00
Ori Avtalion
bb3360adde book: Add missing punctuation 2015-12-11 18:18:13 +02:00
Matt Brubeck
5b9dd6a016 Document bounds checking in the book 2015-12-11 06:18:18 -08:00
w00ns
43725dcb39 Fix for issue #27889: same field names in enum variants 2015-12-11 14:45:07 +01:00
bors
89ec45ced4 Auto merge of #30308 - tsion:typo, r=sanxiyn
r? @steveklabnik
2015-12-11 09:56:51 +00:00
Seo Sanghyeon
ecf2c25959 Do not include generics in suggestion to qualify enum variants 2015-12-11 17:43:04 +09:00
bors
81dd3824ff Auto merge of #30265 - oli-obk:const_val_trans, r=pnkfelix
r? @nagisa

I'm going to need the `ConstVal` -> `ValueRef` translation to start removing trans/consts piece by piece. If you need anything implemented in the translation, feel free to assign an issue to me.
2015-12-11 08:12:41 +00:00
bors
01e5c48656 Auto merge of #30248 - petevine:master, r=brson
Running `/usr/bin/time -v make` to build rust (using local llvm) shows the maximum memory usage at 715 megabytes on 32-bit x86 (on arm linux it's even less @ 580M).

Reworded according to @brson's [input](https://github.com/rust-lang/rust/pull/30196#issuecomment-162088921).
2015-12-11 06:29:06 +00:00
bors
672a3d93e3 Auto merge of #30294 - jseyfried:fix_shadowed_use_visibility, r=nrc
This fixes a bug in which the visibility of a use declaration defining a name in one namespace (e.g. the value namespace) is overridden by a later use declaration defining the same name in the other namespace (e.g. the type namespace). For example,
```rust
fn f() {}
pub mod bar {}

mod foo {
    use f; // This import should not be visible outside `foo`,
    pub use bar as f; // but it visible outside of `foo` because of this import.
}

fn main() { foo::f(); }
```
As the example demonstrates, this is a [breaking-change], but it looks unlikely to cause breakage in practice, and any breakage can be fixed by correcting visibility modifiers.
2015-12-11 04:27:53 +00:00
bors
ae5d09551e Auto merge of #30307 - pnkfelix:fix-issue-26656, r=alexcrichton
Long awaited regression test for dropck on trait object method.

Fix #26656.
2015-12-11 02:44:21 +00:00
Jeffrey Seyfried
ada87fae5f Rename (Ns)ImportResolution 2015-12-11 01:38:13 +00:00
bors
7ce713961c Auto merge of #30301 - michaelwoerister:mir-to-metadata2, r=nikomatsakis
This PR makes `Mir` `RustcEncodable` and `RustcDecodable` and stores it in crate metadata for inlinable items.

Some other things in here:
- `mir::visit::Visitor` is extended to also visit `Literals`, `Spans` and `DefIds`.
- It also adds `mir::visit::MutVisitor` which allows to mutate the visited `Mir` structure in place.
- Some numbers on how big MIR is in metadata (total metadata size in bytes):

|                | w/ MIR     | w/o MIR     | Rel. Size |
|----------------|-----------:|------------:|:---------:|
| libcore        | 17,695,473 |  14,263,377 |  124%     |
| liblibc        | 411,440   |  404,382    | 102%      |
| libcollections |  4,537,975 |   3,526,933 |   129%    |
| libserialize   |  2,574,769 |   2,060,798 |   125%    |
| libsyntax      | 15,262,894 |  12,075,574 |  126%     |
| librustc       | 16,984,537 |  13,692,168 |  124%     |

So, adding MIR to metadata makes it about 25% bigger. It could be worse, considering that it still uses the inefficient RBML encoding. Still, the question is whether we should put MIR emission behind a `-Z` flag.
2015-12-11 00:59:48 +00:00