]> git.lizzy.rs Git - rust.git/log
rust.git
9 years agorollup merge of #18373 : steveklabnik/gh18288
Alex Crichton [Thu, 6 Nov 2014 21:30:10 +0000 (13:30 -0800)]
rollup merge of #18373 : steveklabnik/gh18288

9 years agorollup merge of #18605 : Gankro/collect-fruit
Alex Crichton [Thu, 6 Nov 2014 21:29:31 +0000 (13:29 -0800)]
rollup merge of #18605 : Gankro/collect-fruit

9 years agoFallout from collection conventions
Alexis Beingessner [Thu, 6 Nov 2014 17:25:16 +0000 (12:25 -0500)]
Fallout from collection conventions

9 years agoImplement low-hanging fruit of collection conventions
Alexis Beingessner [Thu, 6 Nov 2014 17:24:47 +0000 (12:24 -0500)]
Implement low-hanging fruit of collection conventions

* Renames/deprecates the simplest and most obvious methods
* Adds FIXME(conventions)s for outstanding work
* Marks "handled" methods as unstable

NOTE: the semantics of reserve and reserve_exact have changed!
Other methods have had their semantics changed as well, but in a
way that should obviously not typecheck if used incorrectly.

Lots of work and breakage to come, but this handles most of the core
APIs and most eggregious breakage. Future changes should *mostly* focus on
niche collections, APIs, or simply back-compat additions.

[breaking-change]

9 years agoauto merge of #18559 : aturon/rust/prelude_cleanup, r=alexcrichton
bors [Thu, 6 Nov 2014 16:52:09 +0000 (16:52 +0000)]
auto merge of #18559 : aturon/rust/prelude_cleanup, r=alexcrichton

This commit renames a number of extension traits for slices and string slices, now that they have been refactored for DST. In many cases, multiple extension traits could now be consolidated. Further consolidation will be possible with generalized where clauses.

The renamings are consistent with the [new `-Prelude` suffix](https://github.com/rust-lang/rfcs/pull/344). There are probably a few more candidates for being renamed this way, but that is left for API stabilization of the relevant modules.

Because this renames traits, it is a:

[breaking-change]

However, I do not expect any code that currently uses the standard library to actually break.

Closes #17917

9 years agoPrelude: rename and consolidate extension traits
Aaron Turon [Mon, 3 Nov 2014 01:04:32 +0000 (17:04 -0800)]
Prelude: rename and consolidate extension traits

This commit renames a number of extension traits for slices and string
slices, now that they have been refactored for DST. In many cases,
multiple extension traits could now be consolidated. Further
consolidation will be possible with generalized where clauses.

The renamings are consistent with the [new `-Prelude`
suffix](https://github.com/rust-lang/rfcs/pull/344). There are probably
a few more candidates for being renamed this way, but that is left for
API stabilization of the relevant modules.

Because this renames traits, it is a:

[breaking-change]

However, I do not expect any code that currently uses the standard
library to actually break.

Closes #17917

9 years agoexpand description of the link attribute
Steve Klabnik [Mon, 27 Oct 2014 18:28:04 +0000 (14:28 -0400)]
expand description of the link attribute

Fixes #18288

9 years agoauto merge of #18608 : alexcrichton/rust/lint-some-crates, r=aturon
bors [Thu, 6 Nov 2014 14:06:59 +0000 (14:06 +0000)]
auto merge of #18608 : alexcrichton/rust/lint-some-crates, r=aturon

This commit adds support for linting `extern crate` statements for stability
attributes attached to the crate itself. This is likely to be the mechanism used
to deny access to experimental crates that are part of the standard
distribution.

cc #18585

r? @aturon

9 years agoauto merge of #18467 : japaric/rust/eq, r=alexcrichton
bors [Thu, 6 Nov 2014 08:06:50 +0000 (08:06 +0000)]
auto merge of #18467 : japaric/rust/eq, r=alexcrichton

`eq`, `ne`, `cmp`, etc methods now require one less level of indirection when dealing with `&str`/`&[T]`

``` rust
"foo".ne(&"bar") -> "foo".ne("bar")
slice.cmp(&another_slice) -> slice.cmp(another_slice)
// slice and another_slice have type `&[T]`
```

[breaking-change]

9 years agoauto merge of #18388 : nikomatsakis/rust/fn-trait-hierarchy, r=acrichto
bors [Thu, 6 Nov 2014 04:21:49 +0000 (04:21 +0000)]
auto merge of #18388 : nikomatsakis/rust/fn-trait-hierarchy, r=acrichto

Add blanket impls to allow the various `Fn` traits to be interconverted.

Fixes #18387.

9 years agoCorrect tests that were supposed to fail but now pass due to the fn trait hierarchy.
Niko Matsakis [Mon, 3 Nov 2014 19:48:17 +0000 (14:48 -0500)]
Correct tests that were supposed to fail but now pass due to the fn trait hierarchy.

9 years agoPartial fix for #17901: Be less conservative around unbound type
Niko Matsakis [Mon, 3 Nov 2014 19:48:03 +0000 (14:48 -0500)]
Partial fix for #17901: Be less conservative around unbound type
variables in the intracrate case. This requires a deeper distinction
between inter- and intra-crate so as to keep coherence working.

I suspect the best fix is to generalize the recursion check that
exists today, but this requires a bit more refactoring to achieve.

(In other words, where today it says OK for an exact match, we'd want
to not detect exact matches but rather skolemize each trait-reference
fresh and return AMBIG -- but that requires us to make builtin bounds
work shallowly like everything else and move the cycle detection into
the fulfillment context.)

9 years agoReverse order of lookup
Niko Matsakis [Mon, 3 Nov 2014 17:36:48 +0000 (12:36 -0500)]
Reverse order of lookup

9 years agoAdd blanket impls to allow the various `Fn` traits to be interconverted.
Niko Matsakis [Tue, 28 Oct 2014 11:24:25 +0000 (07:24 -0400)]
Add blanket impls to allow the various `Fn` traits to be interconverted.

Fixes #18387.

9 years agoFix tests
Jorge Aparicio [Mon, 3 Nov 2014 19:55:19 +0000 (14:55 -0500)]
Fix tests

9 years agoAdd test for the first half of issue #15689
Jorge Aparicio [Mon, 3 Nov 2014 14:42:17 +0000 (09:42 -0500)]
Add test for the first half of issue #15689

cc #15689

9 years agoDSTify Box<T> implementation of PartialEq, PartialOrd, Eq, Ord
Jorge Aparicio [Thu, 30 Oct 2014 20:33:47 +0000 (15:33 -0500)]
DSTify Box<T> implementation of PartialEq, PartialOrd, Eq, Ord

9 years agoFix fallout of DSTifying PartialEq, PartialOrd, Eq, Ord
Jorge Aparicio [Thu, 30 Oct 2014 01:21:37 +0000 (20:21 -0500)]
Fix fallout of DSTifying PartialEq, PartialOrd, Eq, Ord

9 years agoDSTify PartialEq, PartialOrd, Eq, Ord
Jorge Aparicio [Thu, 30 Oct 2014 01:11:16 +0000 (20:11 -0500)]
DSTify PartialEq, PartialOrd, Eq, Ord

9 years agoFix fallout of changing the expansion of `#[deriving(PartialEq)]`
Jorge Aparicio [Wed, 29 Oct 2014 23:48:20 +0000 (18:48 -0500)]
Fix fallout of changing the expansion of `#[deriving(PartialEq)]`

9 years agoUse operator sugar in the expansion of `#[deriving(PartialEq)]`
Jorge Aparicio [Wed, 29 Oct 2014 23:31:41 +0000 (18:31 -0500)]
Use operator sugar in the expansion of `#[deriving(PartialEq)]`

9 years agoauto merge of #18486 : nikomatsakis/rust/operator-dispatch, r=pcwalton
bors [Wed, 5 Nov 2014 22:31:44 +0000 (22:31 +0000)]
auto merge of #18486 : nikomatsakis/rust/operator-dispatch, r=pcwalton

This branch cleans up overloaded operator resolution so that it is strictly based on the traits in `ops`, rather than going through the normal method lookup mechanism. It also adds full support for autoderef to overloaded index (whereas before autoderef only worked for non-overloaded index) as well as for the slicing operators.

This is a [breaking-change]: in the past, we were accepting combinations of operands that were not intended to be accepted. For example, it was possible to compare a fixed-length array and a slice, or apply the `!` operator to a `&int`. See the first two commits in this pull-request for examples.

One downside of this change is that comparing fixed-length arrays doesn't always work as smoothly as it did before. Before this, comparisons sometimes worked due to various coercions to slices. I've added impls for `Eq`, `Ord`, etc for fixed-lengths arrays up to and including length 32, but if the array is longer than that you'll need to either newtype the array or convert to slices. Note that this plays better with deriving in any case than the previous scheme.

Fixes #4920.
Fixes #16821.
Fixes #15757.

cc @alexcrichton
cc @aturon

9 years agoauto merge of #18462 : netvl/rust/to-socket-addr, r=alexcrichton
bors [Wed, 5 Nov 2014 18:01:53 +0000 (18:01 +0000)]
auto merge of #18462 : netvl/rust/to-socket-addr, r=alexcrichton

This is a follow-up to [RFC PR #173](https://github.com/rust-lang/rfcs/pull/173). I was told there that changes like this don't need to go through the RFC process, so I'm submitting this directly.

This PR introduces `ToSocketAddr` trait as defined in said RFC. This trait defines a conversion from different types like `&str`, `(&str, u16)` or even `SocketAddr` to `SocketAddr`. Then this trait is used in all constructor methods for `TcpStream`, `TcpListener` and `UdpSocket`.

This unifies these constructor methods - previously they were using different types of input parameters (TCP ones used `(&str, u16)` pair while UDP ones used `SocketAddr`), which is not consistent by itself and sometimes inconvenient - for example, when the address initially is available as `SocketAddr`, you still need to convert it to string to pass it to e.g. `TcpStream`. This is very prominently demonstrated by the unit tests for TCP functionality. This PR makes working with network objects much like with `Path`, which also uses similar trait to be able to be constructed from `&[u8]`, `Vec<u8>` and other `Path`s.

This is a breaking change. If constant literals were used before, like this:
```rust
TcpStream::connect("localhost", 12345)
```
then the nicest fix is to change it to this:
```rust
TcpStream::connect("localhost:12345")
```

If variables were used before, like this:
```rust
TcpStream::connect(some_address, some_port)
```
then the arguments should be wrapped in another set of parentheses:
```rust
TcpStream::connect((some_address, some_port))
```

`UdpSocket` usages won't break because its constructor method accepted `SocketAddr` which implements `ToSocketAddr`, so `bind()` calls:
```rust
UdpSocket::bind(some_socket_addr)
```
will continue working as before.

I haven't changed `UdpStream` constructor because it is deprecated anyway.

9 years agoBetter debug printouts
Niko Matsakis [Wed, 5 Nov 2014 10:36:53 +0000 (05:36 -0500)]
Better debug printouts

9 years agoRemove incorrect doc annotation, mark experimental since we haven't discussed in...
Niko Matsakis [Mon, 3 Nov 2014 02:00:23 +0000 (21:00 -0500)]
Remove incorrect doc annotation, mark experimental since we haven't discussed in an API meeting

9 years agoUpdate the guide examples and try not to leave user hanging as to what
Niko Matsakis [Sat, 1 Nov 2014 01:42:35 +0000 (21:42 -0400)]
Update the guide examples and try not to leave user hanging as to what
this `&x` sigil is all about.

9 years agoImplement new operator dispatch semantics.
Niko Matsakis [Fri, 31 Oct 2014 09:44:10 +0000 (05:44 -0400)]
Implement new operator dispatch semantics.

Key points are:
1. `a + b` maps directly to `Add<A,B>`, where `A` and `B` are the types of `a` and `b`.
2. Indexing and slicing autoderefs consistently.

9 years agoFixed not compiling code in docstring
Vladimir Matveev [Wed, 5 Nov 2014 16:18:30 +0000 (19:18 +0300)]
Fixed not compiling code in docstring

9 years agoAdd impls of the comparison operators for fixed-length arrays of lengths 0...32 and...
Niko Matsakis [Fri, 31 Oct 2014 09:41:25 +0000 (05:41 -0400)]
Add impls of the comparison operators for fixed-length arrays of lengths 0...32 and repair various cases where slices and fixed-length arrays were being compared.

9 years agoRepair various cases where values of distinct types were being operated
Niko Matsakis [Fri, 31 Oct 2014 09:40:15 +0000 (05:40 -0400)]
Repair various cases where values of distinct types were being operated
upon (e.g., `&int` added to `int`).

9 years agoauto merge of #18646 : eddyb/rust/snapshots, r=alexcrichton
bors [Wed, 5 Nov 2014 12:26:34 +0000 (12:26 +0000)]
auto merge of #18646 : eddyb/rust/snapshots, r=alexcrichton

9 years agoRegister snapshots.
Eduard Burtescu [Sat, 1 Nov 2014 17:51:16 +0000 (19:51 +0200)]
Register snapshots.

9 years agoauto merge of #18546 : bkoropoff/rust/unboxed-closures-cross-crate, r=nick29581
bors [Wed, 5 Nov 2014 10:21:38 +0000 (10:21 +0000)]
auto merge of #18546 : bkoropoff/rust/unboxed-closures-cross-crate, r=nick29581

This fixes some metadata/AST encoding problems that lead to ICEs.  The way this is currently handled will need revisiting if abstract return types are added, as unboxed closure types from extern crates could show up without being inlined into the local crate.

Closes #16790 (I think this was fixed earlier by accident and just needed a test case)
Closes #18378
Closes #18543

r? @pcwalton

9 years agoAdded more documentation on ToSocketAddr trait
Vladimir Matveev [Tue, 4 Nov 2014 10:05:12 +0000 (13:05 +0300)]
Added more documentation on ToSocketAddr trait

9 years agoFixed tidy errors
Vladimir Matveev [Fri, 31 Oct 2014 08:09:09 +0000 (11:09 +0300)]
Fixed tidy errors

9 years agoFixed other tests to pass make check
Vladimir Matveev [Thu, 30 Oct 2014 20:22:40 +0000 (23:22 +0300)]
Fixed other tests to pass make check

9 years agoMigrated io::net::udp over to ToSocketAddr
Vladimir Matveev [Wed, 29 Oct 2014 19:59:43 +0000 (22:59 +0300)]
Migrated io::net::udp over to ToSocketAddr

UdpSocket constructor methods now use ToSocketAddr trait instead of
SocketAddr.

[breaking-change]

9 years agoSwitched io::net::tcp to use ToSocketAddr
Vladimir Matveev [Wed, 22 Oct 2014 19:00:47 +0000 (23:00 +0400)]
Switched io::net::tcp to use ToSocketAddr

TcpListener and TcpStream are converted to use ToSocketAddr trait in
their constructor methods.

[breaking-change]

9 years agoAdded ToSocketAddr trait
Vladimir Matveev [Sun, 19 Oct 2014 19:02:21 +0000 (23:02 +0400)]
Added ToSocketAddr trait

This commit adds ToSocketAddr trait to std::io::net::ip module. This
trait is used for generic conversion from different types (strings,
(string, u16) tuples, etc.) into a SocketAddr instance. It supports
multiple output SocketAddresses when it is appropriate (e.g. DNS name
resolution).

This trait is going to be used by TcpStream, TcpListener and UdpSocket
structures.

9 years agoauto merge of #18592 : alexcrichton/rust/dylib-harder, r=pcwalton
bors [Wed, 5 Nov 2014 07:01:38 +0000 (07:01 +0000)]
auto merge of #18592 : alexcrichton/rust/dylib-harder, r=pcwalton

If a dylib is being produced, the compiler will now first check to see if it can
be created entirely statically before falling back to dynamic dependencies. This
behavior can be overridden with `-C prefer-dynamic`.

Due to the alteration in behavior, this is a breaking change. Any previous users
relying on dylibs implicitly maximizing dynamic dependencies should start
passing `-C prefer-dynamic` to compilations.

Closes #18499
[breaking-change]

9 years agoauto merge of #18504 : pcwalton/rust/small-escapes, r=pcwalton
bors [Wed, 5 Nov 2014 03:31:33 +0000 (03:31 +0000)]
auto merge of #18504 : pcwalton/rust/small-escapes, r=pcwalton

Use `\u0080`-`\u00ff` instead. ASCII/byte literals are unaffected.

This PR introduces a new function, `escape_default`, into the ASCII
module. This was necessary for the pretty printer to continue to
function.

RFC #326.

Closes #18062.

[breaking-change]

r? @aturon

9 years agolibsyntax: Forbid escapes in the inclusive range `\x80`-`\xff` in
Patrick Walton [Mon, 27 Oct 2014 16:13:51 +0000 (09:13 -0700)]
libsyntax: Forbid escapes in the inclusive range `\x80`-`\xff` in
Unicode characters and strings.

Use `\u0080`-`\u00ff` instead. ASCII/byte literals are unaffected.

This PR introduces a new function, `escape_default`, into the ASCII
module. This was necessary for the pretty printer to continue to
function.

RFC #326.

Closes #18062.

[breaking-change]

9 years agoauto merge of #18338 : chastell/rust/guide_pointer_fixes, r=alexcrichton
bors [Tue, 4 Nov 2014 21:26:23 +0000 (21:26 +0000)]
auto merge of #18338 : chastell/rust/guide_pointer_fixes, r=alexcrichton

This removes some leftover line-numbering cruft from elided error examples and brings some minor clarifications.

I’m not super happy about the ‘we cannot have two mutable pointers that point to the same memory’ wording (to the best of my understanding we can’t even have one mutable and one immutable), but other attempts to word this were derailing the flow a bit too much.

9 years agoauto merge of #18528 : seanjensengrey/rust/doc-18498, r=brson
bors [Tue, 4 Nov 2014 18:46:19 +0000 (18:46 +0000)]
auto merge of #18528 : seanjensengrey/rust/doc-18498, r=brson

This addresses https://github.com/rust-lang/rust/issues/18498 by adding a prepopulated search box to do site search on `doc.rust-lang.org` using duckduckgo AND generating a search url against the rust documentation using the internal search facilities.

* https://duckduckgo.com/?q=type+Option+unwrap_or_else+site%3Adoc.rust-lang.org
* http://doc.rust-lang.org/core/?search=unwrap_or_else

9 years agoGuide: drop line-number cruft from elided error examples
Piotr Szotkowski [Sun, 26 Oct 2014 08:34:00 +0000 (09:34 +0100)]
Guide: drop line-number cruft from elided error examples

9 years agoGuide: minor clarifications for the Pointers part
Piotr Szotkowski [Sun, 26 Oct 2014 08:31:52 +0000 (09:31 +0100)]
Guide: minor clarifications for the Pointers part

9 years agoauto merge of #18497 : gamazeps/rust/enumsmatch, r=steveklabnik
bors [Tue, 4 Nov 2014 16:16:28 +0000 (16:16 +0000)]
auto merge of #18497 : gamazeps/rust/enumsmatch, r=steveklabnik

Closes #18169

9 years agorustc: Support stability attributes on crates
Alex Crichton [Tue, 4 Nov 2014 07:54:12 +0000 (23:54 -0800)]
rustc: Support stability attributes on crates

This commit adds support for linting `extern crate` statements for stability
attributes attached to the crate itself. This is likely to be the mechanism used
to deny access to experimental crates that are part of the standard
distribution.

cc #18585

9 years agoGuide: explains the enum/match relationship
gamazeps [Fri, 31 Oct 2014 20:31:27 +0000 (21:31 +0100)]
Guide: explains the enum/match relationship

Closes #18169

9 years agoauto merge of #16156 : cmr/rust/target-spec, r=alexcrichton
bors [Tue, 4 Nov 2014 11:11:20 +0000 (11:11 +0000)]
auto merge of #16156 : cmr/rust/target-spec, r=alexcrichton

See commit message.

9 years agoUpdate for collections reform
Corey Richardson [Tue, 4 Nov 2014 10:35:53 +0000 (05:35 -0500)]
Update for collections reform

9 years agoUpdate some new use of the old targ_cfg
Corey Richardson [Tue, 4 Nov 2014 10:09:08 +0000 (05:09 -0500)]
Update some new use of the old targ_cfg

9 years agoDon't use pie on Android
Corey Richardson [Tue, 4 Nov 2014 00:16:43 +0000 (19:16 -0500)]
Don't use pie on Android

9 years agoSame fix for dragonfly
Corey Richardson [Mon, 3 Nov 2014 05:29:38 +0000 (00:29 -0500)]
Same fix for dragonfly

9 years agoSame fix for mac32
Corey Richardson [Mon, 3 Nov 2014 05:03:21 +0000 (00:03 -0500)]
Same fix for mac32

9 years agoUse -m32 on 32bit Linux
Corey Richardson [Sun, 2 Nov 2014 09:49:52 +0000 (04:49 -0500)]
Use -m32 on 32bit Linux

9 years agoImplement flexible target specification
Corey Richardson [Wed, 23 Jul 2014 18:56:36 +0000 (11:56 -0700)]
Implement flexible target specification

Removes all target-specific knowledge from rustc. Some targets have changed
during this, but none of these should be very visible outside of
cross-compilation. The changes make our targets more consistent.

iX86-unknown-linux-gnu is now only available as i686-unknown-linux-gnu. We
used to accept any value of X greater than 1. i686 was released in 1995, and
should encompass the bare minimum of what Rust supports on x86 CPUs.

The only two windows targets are now i686-pc-windows-gnu and
x86_64-pc-windows-gnu.

The iOS target has been renamed from arm-apple-ios to arm-apple-darwin.

A complete list of the targets we accept now:

arm-apple-darwin
arm-linux-androideabi
arm-unknown-linux-gnueabi
arm-unknown-linux-gnueabihf

i686-apple-darwin
i686-pc-windows-gnu
i686-unknown-freebsd
i686-unknown-linux-gnu

mips-unknown-linux-gnu
mipsel-unknown-linux-gnu

x86_64-apple-darwin
x86_64-unknown-freebsd
x86_64-unknown-linux-gnu
x86_64-pc-windows-gnu

Closes #16093

[breaking-change]

9 years agoauto merge of #18596 : alexcrichton/rust/rollup, r=alexcrichton
bors [Tue, 4 Nov 2014 08:11:53 +0000 (08:11 +0000)]
auto merge of #18596 : alexcrichton/rust/rollup, r=alexcrichton

Let's see if we can clear out the queue entirely today!

9 years agoauto merge of #18132 : P1start/rust/more-help, r=jakub-
bors [Tue, 4 Nov 2014 03:36:55 +0000 (03:36 +0000)]
auto merge of #18132 : P1start/rust/more-help, r=jakub-

Closes #18126.

At the moment this mostly only changes notes that are particularly help-oriented or directly suggest the user to do something to help messages, and does not change messages that simply explain an error message further. If it is decided that those messages should also be help messages, I can add them to this PR, but for now I’m excluding them as I believe that changing those messages might leave very few places where notes would be appropriate.

9 years agorollup merge of #18593 : hirschenberger/issue-18587
Alex Crichton [Mon, 3 Nov 2014 23:56:59 +0000 (15:56 -0800)]
rollup merge of #18593 : hirschenberger/issue-18587

Conflicts:
src/test/compile-fail/lint-exceeding-bitshifts.rs

9 years agorollup merge of #18578 : japaric/clone
Alex Crichton [Mon, 3 Nov 2014 23:32:48 +0000 (15:32 -0800)]
rollup merge of #18578 : japaric/clone

9 years agorollup merge of #18580 : hirschenberger/issue-17713
Alex Crichton [Mon, 3 Nov 2014 23:30:01 +0000 (15:30 -0800)]
rollup merge of #18580 : hirschenberger/issue-17713

9 years agorollup merge of #18572 : cakebaker/small_doc_changes
Alex Crichton [Mon, 3 Nov 2014 23:29:58 +0000 (15:29 -0800)]
rollup merge of #18572 : cakebaker/small_doc_changes

9 years agorollup merge of #18568 : gamazeps/issue18551
Alex Crichton [Mon, 3 Nov 2014 23:29:55 +0000 (15:29 -0800)]
rollup merge of #18568 : gamazeps/issue18551

9 years agorollup merge of #18564 : nick29581/dxr-1a
Alex Crichton [Mon, 3 Nov 2014 23:29:48 +0000 (15:29 -0800)]
rollup merge of #18564 : nick29581/dxr-1a

9 years agorollup merge of #18562 : nick29581/dxr-1
Alex Crichton [Mon, 3 Nov 2014 23:29:46 +0000 (15:29 -0800)]
rollup merge of #18562 : nick29581/dxr-1

9 years agorollup merge of #18560 : bkoropoff/issue-18532
Alex Crichton [Mon, 3 Nov 2014 23:29:43 +0000 (15:29 -0800)]
rollup merge of #18560 : bkoropoff/issue-18532

9 years agorollup merge of #18544 : whataloadofwhat/json
Alex Crichton [Mon, 3 Nov 2014 23:29:37 +0000 (15:29 -0800)]
rollup merge of #18544 : whataloadofwhat/json

9 years agorollup merge of #18536 : bjz/strconv
Alex Crichton [Mon, 3 Nov 2014 23:29:35 +0000 (15:29 -0800)]
rollup merge of #18536 : bjz/strconv

9 years agorollup merge of #18534 : huonw/next-floats
Alex Crichton [Mon, 3 Nov 2014 23:29:32 +0000 (15:29 -0800)]
rollup merge of #18534 : huonw/next-floats

9 years agorollup merge of #18506 : nikomatsakis/assoc-type-bounds
Alex Crichton [Mon, 3 Nov 2014 23:29:29 +0000 (15:29 -0800)]
rollup merge of #18506 : nikomatsakis/assoc-type-bounds

9 years agoFix for bitshift errors lint on cross compilation #18587
Falco Hirschenberger [Mon, 3 Nov 2014 23:48:03 +0000 (00:48 +0100)]
Fix for bitshift errors lint on cross compilation #18587

9 years agoFix error message in compile-fail test
Jorge Aparicio [Mon, 3 Nov 2014 17:51:21 +0000 (12:51 -0500)]
Fix error message in compile-fail test

9 years agoAdd test for second half of issue #15689
Jorge Aparicio [Mon, 3 Nov 2014 15:55:43 +0000 (10:55 -0500)]
Add test for second half of issue #15689

cc #15689

9 years agostd: Fix fallout of changing `#[deriving(Clone)]`
Jorge Aparicio [Mon, 3 Nov 2014 16:52:13 +0000 (11:52 -0500)]
std: Fix fallout of changing `#[deriving(Clone)]`

9 years agounicode: Fix fallout of changing `#[deriving(Clone)]`
Jorge Aparicio [Mon, 3 Nov 2014 16:27:11 +0000 (11:27 -0500)]
unicode: Fix fallout of changing `#[deriving(Clone)]`

9 years agocore: Fix fallout of changing `#[deriving(Clone)]`
Jorge Aparicio [Mon, 3 Nov 2014 16:15:29 +0000 (11:15 -0500)]
core: Fix fallout of changing `#[deriving(Clone)]`

9 years agosyntax: Use UFCS in the expansion of `#[deriving(Clone)]`
Jorge Aparicio [Mon, 3 Nov 2014 15:53:49 +0000 (10:53 -0500)]
syntax: Use UFCS in the expansion of `#[deriving(Clone)]`

9 years agorollup merge of #18447 : nick29581/dst-impl3
Alex Crichton [Mon, 3 Nov 2014 23:29:17 +0000 (15:29 -0800)]
rollup merge of #18447 : nick29581/dst-impl3

9 years agorollup merge of #18355 : chastell/guide_iterators_macros_unsafe_fixes
Alex Crichton [Mon, 3 Nov 2014 23:29:13 +0000 (15:29 -0800)]
rollup merge of #18355 : chastell/guide_iterators_macros_unsafe_fixes

9 years agorollup merge of #18318 : arielb1/transmute-cleanup
Alex Crichton [Mon, 3 Nov 2014 23:29:08 +0000 (15:29 -0800)]
rollup merge of #18318 : arielb1/transmute-cleanup

9 years agorollup merge of #18247 : kballard/vim_rust_run_cwd_space
Alex Crichton [Mon, 3 Nov 2014 23:29:03 +0000 (15:29 -0800)]
rollup merge of #18247 : kballard/vim_rust_run_cwd_space

9 years agorollup merge of #18132 : P1start/more-help
Alex Crichton [Mon, 3 Nov 2014 23:28:54 +0000 (15:28 -0800)]
rollup merge of #18132 : P1start/more-help

9 years agoauto merge of #18589 : alexcrichton/rust/issue-18587-warn, r=jakub-
bors [Mon, 3 Nov 2014 23:16:55 +0000 (23:16 +0000)]
auto merge of #18589 : alexcrichton/rust/issue-18587-warn, r=jakub-

There's currently a bug in it which fires erroneously on cross compiles,
preventing new nightlies from being generated. This can be reset back to Deny
once it's been fixed.

cc #18587

9 years agorustc: Default to static linking dylibs
Alex Crichton [Mon, 3 Nov 2014 07:02:53 +0000 (23:02 -0800)]
rustc: Default to static linking dylibs

If a dylib is being produced, the compiler will now first check to see if it can
be created entirely statically before falling back to dynamic dependencies. This
behavior can be overridden with `-C prefer-dynamic`.

Due to the alteration in behavior, this is a breaking change. Any previous users
relying on dylibs implicitly maximizing dynamic dependencies should start
passing `-C prefer-dynamic` to compilations.

Closes #18499
[breaking-change]

9 years agoUse a struct rather than a 4-tuple
Niko Matsakis [Mon, 3 Nov 2014 22:36:30 +0000 (17:36 -0500)]
Use a struct rather than a 4-tuple

9 years agoMove associated types into the Assoc space and add in the builtin bounds
Niko Matsakis [Fri, 31 Oct 2014 10:36:07 +0000 (06:36 -0400)]
Move associated types into the Assoc space and add in the builtin bounds
from the definition (including Sized).

9 years agoAdd a 4th space for associated types defined in a trait (currently unused)
Niko Matsakis [Thu, 30 Oct 2014 01:29:16 +0000 (21:29 -0400)]
Add a 4th space for associated types defined in a trait (currently unused)

9 years agoAdd in the bounds into the typeparameterdefs for assoc types
Niko Matsakis [Wed, 29 Oct 2014 09:58:31 +0000 (05:58 -0400)]
Add in the bounds into the typeparameterdefs for assoc types

9 years agoRestructure AST so that the associated type definition carries
Niko Matsakis [Tue, 28 Oct 2014 18:48:52 +0000 (14:48 -0400)]
Restructure AST so that the associated type definition carries
bounds like any other "type parameter".

9 years agorustc: Set the exceeding_bitshifts lint to Allow
Alex Crichton [Mon, 3 Nov 2014 22:34:14 +0000 (14:34 -0800)]
rustc: Set the exceeding_bitshifts lint to Allow

There's currently a bug in it which fires erroneously on cross compiles,
preventing new nightlies from being generated. This can be reset back to Deny
once it's been fixed.

cc #18587

9 years agoauto merge of #18575 : alexcrichton/rust/rollup, r=alexcrichton
bors [Mon, 3 Nov 2014 21:07:45 +0000 (21:07 +0000)]
auto merge of #18575 : alexcrichton/rust/rollup, r=alexcrichton

9 years agoClean-up transmutes in librustc
Ariel Ben-Yehuda [Sat, 25 Oct 2014 19:27:15 +0000 (22:27 +0300)]
Clean-up transmutes in librustc

None of them would break by implementation-defined struct layout, but
one would break with strict lifetime aliasing, and the rest are just
ugly code.

9 years agotests
Nick Cameron [Thu, 30 Oct 2014 02:41:07 +0000 (15:41 +1300)]
tests

9 years agoAllow impls for traits as a concrete type
Nick Cameron [Tue, 21 Oct 2014 20:08:07 +0000 (09:08 +1300)]
Allow impls for traits as a concrete type

9 years agoClean-up transmutes in libsyntax
Ariel Ben-Yehuda [Sat, 25 Oct 2014 17:33:54 +0000 (20:33 +0300)]
Clean-up transmutes in libsyntax

9 years agoAlso fix undefined behaviour when shift equals the number of bits
Falco Hirschenberger [Mon, 3 Nov 2014 19:08:11 +0000 (20:08 +0100)]
Also fix undefined behaviour when shift equals the number of bits

LLVM states:  "If op2 is (statically or dynamically) negative or equal
to or larger than the number of bits in op1, the result is undefined."

9 years agoTest fixes and rebase conflicts
Alex Crichton [Mon, 3 Nov 2014 07:10:09 +0000 (23:10 -0800)]
Test fixes and rebase conflicts

9 years agoauto merge of #18460 : gamazeps/rust/issue18451, r=steveklabnik
bors [Mon, 3 Nov 2014 18:57:29 +0000 (18:57 +0000)]
auto merge of #18460 : gamazeps/rust/issue18451, r=steveklabnik

Closes #18451

9 years agorollup merge of #18545 : luqmana/fix-18539
Alex Crichton [Mon, 3 Nov 2014 02:45:43 +0000 (18:45 -0800)]
rollup merge of #18545 : luqmana/fix-18539