]> git.lizzy.rs Git - rust.git/log
rust.git
10 years agoCalibrate span for method call error messages
Edward Wang [Wed, 23 Apr 2014 21:19:23 +0000 (05:19 +0800)]
Calibrate span for method call error messages

Specifically, the method parameter cardinality mismatch or missing
method error message span now gets method itself exactly. It was the
whole expression.

Closes #9390
Closes #13684
Closes #13709

10 years agoRegister new snapshots
Alex Crichton [Wed, 23 Apr 2014 21:58:50 +0000 (14:58 -0700)]
Register new snapshots

These are the first successful snapshots after the LLVM upgrade, built with LLVM
that requires C++11

10 years agoauto merge of #13705 : edwardw/rust/rcboxptr-doc, r=alexcrichton
bors [Wed, 23 Apr 2014 21:48:54 +0000 (14:48 -0700)]
auto merge of #13705 : edwardw/rust/rcboxptr-doc, r=alexcrichton

It is for internal use only and should not appear in docs.

10 years agofix std::f32 and std::f64 constants
Aaron Turon [Wed, 23 Apr 2014 19:04:34 +0000 (12:04 -0700)]
fix std::f32 and std::f64 constants

Some of the constant values in std::f32 were incorrectly copied from
std::f64.  More broadly, both modules defined their constants redundantly
in two places, which is what led to the bug.  Moreover, the specs for
some of the constants were incorrent, even when the values were correct.

Closes #13297.  Closes #11537.

10 years agoauto merge of #13584 : rcxdude/rust/cross-syntax-ext, r=alexcrichton
bors [Wed, 23 Apr 2014 20:11:37 +0000 (13:11 -0700)]
auto merge of #13584 : rcxdude/rust/cross-syntax-ext, r=alexcrichton

This allows the use of syntax extensions when cross-compiling (fixing #12102). It does this by encoding the target triple in the crate metadata and checking it when searching for files. Currently the crate triple must match the host triple when there is a macro_registrar_fn, it must match the target triple when linking, and can match either when only macro_rules! macros are used.

due to carelessness, this is pretty much a duplicate of https://github.com/mozilla/rust/pull/13450.

10 years agoEnable use of syntax extensions when cross compiling.
Douglas Young [Thu, 17 Apr 2014 15:52:25 +0000 (16:52 +0100)]
Enable use of syntax extensions when cross compiling.

This adds the target triple to the crate metadata.
When searching for a crate the phase (link, syntax) is taken into account.
During link phase only crates matching the target triple are considered.
During syntax phase, either the target or host triple will be accepted, unless
the crate defines a macro_registrar, in which case only the host triple will
match.

10 years agoauto merge of #13686 : alexcrichton/rust/issue-12224, r=nikomatsakis
bors [Wed, 23 Apr 2014 19:01:53 +0000 (12:01 -0700)]
auto merge of #13686 : alexcrichton/rust/issue-12224, r=nikomatsakis

This alters the borrow checker's requirements on invoking closures from
requiring an immutable borrow to requiring a unique immutable borrow. This means
that it is illegal to invoke a closure through a `&` pointer because there is no
guarantee that is not aliased. This does not mean that a closure is required to
be in a mutable location, but rather a location which can be proven to be
unique (often through a mutable pointer).

For example, the following code is unsound and is no longer allowed:

    type Fn<'a> = ||:'a;

    fn call(f: |Fn|) {
        f(|| {
            f(|| {})
        });
    }

    fn main() {
        call(|a| {
            a();
        });
    }

There is no replacement for this pattern. For all closures which are stored in
structures, it was previously allowed to invoke the closure through `&self` but
it now requires invocation through `&mut self`.

The standard library has a good number of violations of this new rule, but the
fixes will be separated into multiple breaking change commits.

Closes #12224

10 years agorustc: Don't die when a crate id can't be inferred
Alex Crichton [Tue, 15 Apr 2014 14:47:26 +0000 (07:47 -0700)]
rustc: Don't die when a crate id can't be inferred

The filestem of the desired output isn't necessarily a valid crate id, and
calling unwrap() will trigger an ICE in rustc. This tries a little harder to
infer a "valid crate id" from a crate, with an eventual fallback to a generic
crate id if alll else fails.

Closes #11107

10 years agorustc: Give a friendlier error when writing deps
Alex Crichton [Tue, 15 Apr 2014 14:35:17 +0000 (07:35 -0700)]
rustc: Give a friendlier error when writing deps

When an error is encountered when writing dependencies, this presents a nicer
error rather than an ICE.

Closes #13517

10 years agorustc: Fix passing errors from LLVM to rustc
Alex Crichton [Tue, 15 Apr 2014 14:25:22 +0000 (07:25 -0700)]
rustc: Fix passing errors from LLVM to rustc

Many of the instances of setting a global error variable ended up leaving a
dangling pointer into free'd memory. This changes the method of error
transmission to strdup any error and "relinquish ownership" to rustc when it
gets an error. The corresponding Rust code will then free the error as
necessary.

Closes #12865

10 years agoFix other bugs with new closure borrowing
Alex Crichton [Tue, 22 Apr 2014 06:25:18 +0000 (23:25 -0700)]
Fix other bugs with new closure borrowing

This fixes various issues throughout the standard distribution and tests.

10 years agostd: Change Finally to take `&mut self`
Alex Crichton [Tue, 22 Apr 2014 05:28:21 +0000 (22:28 -0700)]
std: Change Finally to take `&mut self`

As with the previous commits, the Finally trait is primarily implemented for
closures, so the trait was modified from `&self` to `&mut self`. This will
require that any closure variable invoked with `finally` to be stored in a
mutable slot.

[breaking-change]

10 years agostd: Change CharEq to take `&mut self`
Alex Crichton [Tue, 22 Apr 2014 05:21:37 +0000 (22:21 -0700)]
std: Change CharEq to take `&mut self`

This is similar to the previous commits to allow invocation of a closure through
a `&mut self` pointer because `&self` is disallowed. One of the primary
implementors of the CharEq trait is a closure type, which would not work if the
method continued to have `&self`.

In addition to changing mutability of the `matches` method, this modifies the
following methods from &CharEq to take a type which implements CharEq by value.

* trim_chars
* trim_left_chars
* trim_right_chars

Where these methods were previously invoked via

    s.trim_chars(&'a')

it would now be invoked through

    s.trim_chars('a')

[breaking-change]

10 years agostd: Change RandomAccessIterator to use `&mut self`
Alex Crichton [Tue, 22 Apr 2014 05:15:42 +0000 (22:15 -0700)]
std: Change RandomAccessIterator to use `&mut self`

Many iterators go through a closure when dealing with the `idx` method, which
are invalid after the previous change (closures cannot be invoked through a `&`
pointer). This commit alters the `fn idx` method on the RandomAccessIterator
to take `&mut self` rather than `&self`.

[breaking-change]

10 years agorustc: Tweak the borrow on closure invocations
Alex Crichton [Tue, 22 Apr 2014 05:02:19 +0000 (22:02 -0700)]
rustc: Tweak the borrow on closure invocations

This alters the borrow checker's requirements on invoking closures from
requiring an immutable borrow to requiring a unique immutable borrow. This means
that it is illegal to invoke a closure through a `&` pointer because there is no
guarantee that is not aliased. This does not mean that a closure is required to
be in a mutable location, but rather a location which can be proven to be
unique (often through a mutable pointer).

For example, the following code is unsound and is no longer allowed:

    type Fn<'a> = ||:'a;

    fn call(f: |Fn|) {
        f(|| {
            f(|| {})
        });
    }

    fn main() {
        call(|a| {
            a();
        });
    }

There is no replacement for this pattern. For all closures which are stored in
structures, it was previously allowed to invoke the closure through `&self` but
it now requires invocation through `&mut self`.

The standard library has a good number of violations of this new rule, but the
fixes will be separated into multiple breaking change commits.

Closes #12224

[breaking-change]

10 years agoauto merge of #13689 : alexcrichton/rust/ignore-tcp-connect-freebsd, r=brson
bors [Wed, 23 Apr 2014 16:56:38 +0000 (09:56 -0700)]
auto merge of #13689 : alexcrichton/rust/ignore-tcp-connect-freebsd, r=brson

The BSD builders are failing with a different error that is not a timeout error
(Connection reset by peer), so this test isn't really all that useful on
freebsd. Due to a lack of a better idea of how to test a connect timeout, this
test is going to just be ignored for now.

10 years agorustc: fix de-@rooting fallout
Flavio Percoco [Wed, 23 Apr 2014 16:16:23 +0000 (18:16 +0200)]
rustc: fix de-@rooting fallout

10 years agosyntax: fix de-@rooting fallout
Flavio Percoco [Wed, 23 Apr 2014 16:16:06 +0000 (18:16 +0200)]
syntax: fix de-@rooting fallout

10 years agorustc: Remove moved_variables_set
Flavio Percoco [Tue, 22 Apr 2014 22:59:42 +0000 (00:59 +0200)]
rustc: Remove moved_variables_set

10 years agoTreat @T like ~T in borrowck
Flavio Percoco [Wed, 16 Apr 2014 23:03:14 +0000 (01:03 +0200)]
Treat @T like ~T in borrowck

`@` pointers used to have special rooting and regions management. With `@`
moving to standalone library, we don't need to keep that special
treatment around. This patch modifies the way `@` pointers are treated by
treating them as if they were `~` pointers

Region checker and borrow checker were modified in this patch.

Closes #11586

[breaking-change]

10 years agorustc: Remove obsolete error_out_of_root_scope variant
Flavio Percoco [Wed, 16 Apr 2014 23:00:00 +0000 (01:00 +0200)]
rustc: Remove obsolete error_out_of_root_scope variant

10 years agoUpdate tests and move other tests around
Flavio Percoco [Wed, 16 Apr 2014 22:58:55 +0000 (00:58 +0200)]
Update tests and move other tests around

10 years agorustc: Remove root_map entirely
Flavio Percoco [Wed, 16 Apr 2014 21:33:38 +0000 (23:33 +0200)]
rustc: Remove root_map entirely

10 years agorustc: Remove root_map usage from lifetime
Flavio Percoco [Tue, 15 Apr 2014 21:33:37 +0000 (23:33 +0200)]
rustc: Remove root_map usage from lifetime

10 years agorustc: Remove root_map usage from _match
Flavio Percoco [Tue, 15 Apr 2014 20:47:37 +0000 (22:47 +0200)]
rustc: Remove root_map usage from _match

10 years agorustc: remove usage of root_map from astencode
Flavio Percoco [Tue, 15 Apr 2014 20:43:24 +0000 (22:43 +0200)]
rustc: remove usage of root_map from astencode

10 years agoRemove special rooting code from trans
Flavio Percoco [Tue, 15 Apr 2014 20:05:37 +0000 (22:05 +0200)]
Remove special rooting code from trans

[breaking-change]

cc #11586

10 years agotest: Ignore tcp-connect-timeout on freebsd
Alex Crichton [Tue, 22 Apr 2014 20:03:54 +0000 (13:03 -0700)]
test: Ignore tcp-connect-timeout on freebsd

The BSD builders are failing with a different error that is not a timeout error
(Connection reset by peer), so this test isn't really all that useful on
freebsd. Due to a lack of a better idea of how to test a connect timeout, this
test is going to just be ignored for now.

10 years agoHide trait rc::RcBoxPtr from docs
Edward Wang [Wed, 23 Apr 2014 15:35:45 +0000 (23:35 +0800)]
Hide trait rc::RcBoxPtr from docs

It is for internal use only and should not appear in docs.

10 years agoHonor hidden doc attribute of derivable trait methods
Edward Wang [Wed, 23 Apr 2014 14:43:45 +0000 (22:43 +0800)]
Honor hidden doc attribute of derivable trait methods

Closes #13698

10 years agoauto merge of #13694 : jacob-hegna/rust/master, r=brson
bors [Wed, 23 Apr 2014 12:51:30 +0000 (05:51 -0700)]
auto merge of #13694 : jacob-hegna/rust/master, r=brson

... and uint_macros.rs

10 years agoauto merge of #13693 : thestinger/rust/mem, r=alexcrichton
bors [Wed, 23 Apr 2014 11:36:32 +0000 (04:36 -0700)]
auto merge of #13693 : thestinger/rust/mem, r=alexcrichton

This exposes volatile versions of the memset/memmove/memcpy intrinsics.

The volatile parameter must be constant, so this can't simply be a
parameter to our intrinsics.

10 years agoauto merge of #13692 : vadimcn/rust/Win64-pre, r=alexcrichton
bors [Wed, 23 Apr 2014 10:21:32 +0000 (03:21 -0700)]
auto merge of #13692 : vadimcn/rust/Win64-pre, r=alexcrichton

Stack unwinding doesn't work yet, so this won't pass a lot of tests.

10 years agoauto merge of #13690 : alexcrichton/rust/unlink-unix-pipe, r=brson
bors [Wed, 23 Apr 2014 09:11:32 +0000 (02:11 -0700)]
auto merge of #13690 : alexcrichton/rust/unlink-unix-pipe, r=brson

This prevents unix sockets from remaining on the system all over the place, and
more closely mirrors the behavior of libuv and windows pipes.

10 years agoauto merge of #13687 : exscape/mut-vector-Show/master, r=alexcrichton
bors [Wed, 23 Apr 2014 07:31:33 +0000 (00:31 -0700)]
auto merge of #13687 : exscape/mut-vector-Show/master, r=alexcrichton

Removes the need for hacks to println! mutable slices, among other things.

10 years agoauto merge of #13597 : bjz/rust/float-api, r=brson
bors [Wed, 23 Apr 2014 05:01:32 +0000 (22:01 -0700)]
auto merge of #13597 : bjz/rust/float-api, r=brson

This pull request:

- Merges the `Round` trait into the `Float` trait, continuing issue #10387.
- Has floating point functions take their parameters by value.
- Cleans up the formatting and organisation in the definition and implementations of the `Float` trait.

More information on the breaking changes can be found in the commit messages.

10 years agoauto merge of #13398 : nick29581/rust/unsized-enum, r=nikomatsakis
bors [Wed, 23 Apr 2014 03:51:31 +0000 (20:51 -0700)]
auto merge of #13398 : nick29581/rust/unsized-enum, r=nikomatsakis

Now with proper checking of enums and allows unsized fields as the last field in a struct or variant. This PR only checks passing of unsized types and distinguishing them from sized ones. To be safe we also need to control storage.

Closes issues #12969 and #13121, supersedes #13375 (all the discussion there is valid here too).

10 years agoReview changes
Nick Cameron [Sun, 20 Apr 2014 06:53:37 +0000 (18:53 +1200)]
Review changes

10 years agoauto merge of #13415 : thestinger/rust/f128, r=alexcrichton
bors [Wed, 23 Apr 2014 02:31:35 +0000 (19:31 -0700)]
auto merge of #13415 : thestinger/rust/f128, r=alexcrichton

This currently requires linking against a library like libquadmath (or
libgcc), because compiler-rt barely has any support for this and most
hardware does not yet have 128-bit precision floating point. For this
reason, it's currently hidden behind a feature gate.

When compiler-rt is updated to trunk, some tests can be added for
constant evaluation since there will be support for the comparison
operators.

Closes #13381

10 years agoApply lint attrs to individual "use" declarations
David Creswick [Wed, 23 Apr 2014 01:09:21 +0000 (20:09 -0500)]
Apply lint attrs to individual "use" declarations

Fixes #10534

10 years agoFixed Win64 build
Vadim Chugunov [Wed, 19 Mar 2014 07:42:02 +0000 (00:42 -0700)]
Fixed Win64 build

10 years agoRemoved trailing whitespace in on line 242 in int_macros.rs and on line 156 in uint_m...
Jacob Hegna [Wed, 23 Apr 2014 00:47:57 +0000 (19:47 -0500)]
Removed trailing whitespace in on line 242 in int_macros.rs and on line 156 in uint_macros.rs

10 years agoadd support for quadruple precision floating point
Daniel Micay [Tue, 8 Apr 2014 22:08:08 +0000 (18:08 -0400)]
add support for quadruple precision floating point

This currently requires linking against a library like libquadmath (or
libgcc), because compiler-rt barely has any support for this and most
hardware does not yet have 128-bit precision floating point. For this
reason, it's currently hidden behind a feature gate.

When compiler-rt is updated to trunk, some tests can be added for
constant evaluation since there will be support for the comparison
operators.

Closes #13381

10 years agoAdded examples for parse_bytes(buf: &[u8], radix: uint) in int_macros.rs and uint_mac...
Jacob Hegna [Wed, 23 Apr 2014 00:38:27 +0000 (19:38 -0500)]
Added examples for parse_bytes(buf: &[u8], radix: uint) in int_macros.rs and uint_macros.rs

10 years agoCheck for unsized types in enums.
Nick Cameron [Tue, 8 Apr 2014 09:00:20 +0000 (21:00 +1200)]
Check for unsized types in enums.

And allow the last field of a struct or variant to be unsized.

10 years agoSupport unsized types with the `type` keyword
Nick Cameron [Thu, 3 Apr 2014 00:38:45 +0000 (13:38 +1300)]
Support unsized types with the `type` keyword

10 years agoAdd a span to ast::TyParam
Nick Cameron [Thu, 3 Apr 2014 00:53:57 +0000 (13:53 +1300)]
Add a span to ast::TyParam

10 years agoauto merge of #13683 : aochagavia/rust/pr, r=alexcrichton
bors [Wed, 23 Apr 2014 00:26:33 +0000 (17:26 -0700)]
auto merge of #13683 : aochagavia/rust/pr, r=alexcrichton

Replaced "len" by "length", to match the given code example.

10 years agoadd volatile copy/copy_nonoverlapping/set
Daniel Micay [Tue, 22 Apr 2014 23:51:14 +0000 (19:51 -0400)]
add volatile copy/copy_nonoverlapping/set

This exposes volatile versions of the memset/memmove/memcpy intrinsics.

The volatile parameter must be constant, so this can't simply be a
parameter to our intrinsics.

10 years agoUpgrade compiler-rt
Vadim Chugunov [Tue, 22 Apr 2014 01:43:19 +0000 (18:43 -0700)]
Upgrade compiler-rt

10 years agoThere are no 64-bit Windows snapshots yet, so we'll use 32-bit ones instead.
Vadim Chugunov [Tue, 22 Apr 2014 22:48:51 +0000 (15:48 -0700)]
There are no 64-bit Windows snapshots yet, so we'll use 32-bit ones instead.

10 years agoauto merge of #13674 : pcwalton/rust/more-str-inlines, r=alexcrichton
bors [Tue, 22 Apr 2014 22:31:33 +0000 (15:31 -0700)]
auto merge of #13674 : pcwalton/rust/more-str-inlines, r=alexcrichton

Was killing performance of selector matching in Servo.

r? @alexcrichton (or anyone)

10 years agoauto merge of #13673 : bmac/rust/utorial-fix, r=alexcrichton
bors [Tue, 22 Apr 2014 21:21:35 +0000 (14:21 -0700)]
auto merge of #13673 : bmac/rust/utorial-fix, r=alexcrichton

This pr updates the "Additional tutorials" link in the scope section to match the "What next?" link in the table of contents.

10 years agonative: Unlink unix socket paths on drop
Alex Crichton [Tue, 22 Apr 2014 20:21:30 +0000 (13:21 -0700)]
native: Unlink unix socket paths on drop

This prevents unix sockets from remaining on the system all over the place, and
more closely mirrors the behavior of libuv and windows pipes.

10 years agoauto merge of #13670 : eddyb/rust/more-de-at, r=pcwalton
bors [Tue, 22 Apr 2014 20:11:36 +0000 (13:11 -0700)]
auto merge of #13670 : eddyb/rust/more-de-at, r=pcwalton

10 years agoauto merge of #13667 : TeXitoi/rust/shootout-chameneos-redux-fix, r=alexcrichton
bors [Tue, 22 Apr 2014 19:01:34 +0000 (12:01 -0700)]
auto merge of #13667 : TeXitoi/rust/shootout-chameneos-redux-fix, r=alexcrichton

* fix official shootout test (spacing)
* use libgreen to improve performances
* simplify and modernize code
* remove warnings

10 years agoauto merge of #13651 : ryantm/rust/master, r=brson
bors [Tue, 22 Apr 2014 17:46:32 +0000 (10:46 -0700)]
auto merge of #13651 : ryantm/rust/master, r=brson

10 years agoImplement Show for &mut [T]
Thomas Backman [Tue, 22 Apr 2014 17:41:02 +0000 (19:41 +0200)]
Implement Show for &mut [T]

10 years agorustc: de-@ llvm.
Eduard Burtescu [Tue, 22 Apr 2014 00:53:51 +0000 (03:53 +0300)]
rustc: de-@ llvm.

10 years agorustc: de-@ trans::tydesc_info.
Eduard Burtescu [Tue, 22 Apr 2014 00:45:16 +0000 (03:45 +0300)]
rustc: de-@ trans::tydesc_info.

10 years agorustc: remove typeck::isr_alist.
Eduard Burtescu [Tue, 22 Apr 2014 00:29:03 +0000 (03:29 +0300)]
rustc: remove typeck::isr_alist.

10 years agorustc: de-@ stats.
Eduard Burtescu [Tue, 22 Apr 2014 00:25:56 +0000 (03:25 +0300)]
rustc: de-@ stats.

10 years agorustc: de-@ adt::Repr.
Eduard Burtescu [Tue, 22 Apr 2014 00:03:02 +0000 (03:03 +0300)]
rustc: de-@ adt::Repr.

10 years agorustc: de-@ debuginfo.
Eduard Burtescu [Mon, 21 Apr 2014 23:41:05 +0000 (02:41 +0300)]
rustc: de-@ debuginfo.

10 years agorustc: de-@ middle::ty.
Eduard Burtescu [Mon, 21 Apr 2014 23:21:52 +0000 (02:21 +0300)]
rustc: de-@ middle::ty.

10 years agorustc: remove ty::Impl.
Eduard Burtescu [Mon, 21 Apr 2014 09:04:35 +0000 (12:04 +0300)]
rustc: remove ty::Impl.

10 years agorustc: de-@ ty::type_err.
Eduard Burtescu [Sun, 20 Apr 2014 17:19:58 +0000 (20:19 +0300)]
rustc: de-@ ty::type_err.

10 years agorustc: de-@ param_substs.
Eduard Burtescu [Sun, 20 Apr 2014 17:04:57 +0000 (20:04 +0300)]
rustc: de-@ param_substs.

10 years agorustc: de-@ mono_id.
Eduard Burtescu [Sun, 20 Apr 2014 16:29:56 +0000 (19:29 +0300)]
rustc: de-@ mono_id.

10 years agorustc: slightly optimize make_mono_id to not clone lots of vectors.
Eduard Burtescu [Sun, 20 Apr 2014 16:09:11 +0000 (19:09 +0300)]
rustc: slightly optimize make_mono_id to not clone lots of vectors.

10 years agorustc: remove obsolete monomorphization modes.
Eduard Burtescu [Sun, 20 Apr 2014 12:43:37 +0000 (15:43 +0300)]
rustc: remove obsolete monomorphization modes.

10 years agorustc: de-@ ty::ParamBounds.
Eduard Burtescu [Sun, 20 Apr 2014 12:11:18 +0000 (15:11 +0300)]
rustc: de-@ ty::ParamBounds.

10 years agorustc: de-@ trans::_match.
Eduard Burtescu [Sun, 20 Apr 2014 11:36:50 +0000 (14:36 +0300)]
rustc: de-@ trans::_match.

10 years agorustc: de-@ metadata::cstore.
Eduard Burtescu [Thu, 17 Apr 2014 12:06:25 +0000 (15:06 +0300)]
rustc: de-@ metadata::cstore.

10 years agorustc: de-@ mem_categorization.
Eduard Burtescu [Tue, 15 Apr 2014 10:15:56 +0000 (13:15 +0300)]
rustc: de-@ mem_categorization.

10 years agorustc: de-@ borrowck.
Eduard Burtescu [Mon, 14 Apr 2014 19:34:42 +0000 (22:34 +0300)]
rustc: de-@ borrowck.

10 years agorustc: de-@ resolve.
Eduard Burtescu [Mon, 14 Apr 2014 08:30:59 +0000 (11:30 +0300)]
rustc: de-@ resolve.

10 years agorustc: de-@ lint.
Eduard Burtescu [Mon, 14 Apr 2014 19:32:38 +0000 (22:32 +0300)]
rustc: de-@ lint.

10 years agorustc: de-@ freevars.
Eduard Burtescu [Mon, 14 Apr 2014 14:43:57 +0000 (17:43 +0300)]
rustc: de-@ freevars.

10 years agorustc: de-@ some RefCell's.
Eduard Burtescu [Tue, 22 Apr 2014 16:06:43 +0000 (19:06 +0300)]
rustc: de-@ some RefCell's.

10 years agoauto merge of #13638 : alexcrichton/rust/fix-windows-tcp-timeout-bug, r=brson
bors [Tue, 22 Apr 2014 15:41:32 +0000 (08:41 -0700)]
auto merge of #13638 : alexcrichton/rust/fix-windows-tcp-timeout-bug, r=brson

When a uv_tcp_t is closed in libuv, it will still invoke the pending connect_cb,
and I thought that it would always call it with ECANCELED, but it turns out that
sometimes we'll get a different error code instead. Handle this case by checking
to see if the request's data is NULL and bail out if so (the timeout expired).

10 years agoauto merge of #13657 : edwardw/rust/ppaux-ice, r=alexcrichton
bors [Tue, 22 Apr 2014 14:31:43 +0000 (07:31 -0700)]
auto merge of #13657 : edwardw/rust/ppaux-ice, r=alexcrichton

Closes #13599

10 years agorustc: de-@ lang_items.
Eduard Burtescu [Thu, 10 Apr 2014 13:58:20 +0000 (16:58 +0300)]
rustc: de-@ lang_items.

10 years agorustc: make MemCategorizationContext immutable.
Eduard Burtescu [Thu, 10 Apr 2014 13:43:26 +0000 (16:43 +0300)]
rustc: make MemCategorizationContext immutable.

10 years agorustc: remove unused errors_reported field from regionck.
Eduard Burtescu [Thu, 10 Apr 2014 13:29:31 +0000 (16:29 +0300)]
rustc: remove unused errors_reported field from regionck.

10 years agorustc: de-@ ty::AutoAdjustment.
Eduard Burtescu [Thu, 10 Apr 2014 13:26:26 +0000 (16:26 +0300)]
rustc: de-@ ty::AutoAdjustment.

10 years agorustc: de-@ method and vtable maps.
Eduard Burtescu [Thu, 10 Apr 2014 11:04:45 +0000 (14:04 +0300)]
rustc: de-@ method and vtable maps.

10 years agorustc: move the method and vtable maps into ty::ctxt.
Eduard Burtescu [Wed, 9 Apr 2014 15:18:40 +0000 (18:18 +0300)]
rustc: move the method and vtable maps into ty::ctxt.

10 years agoFixed typo in tutorial
Adolfo OchagavĂ­a [Tue, 22 Apr 2014 13:46:54 +0000 (14:46 +0100)]
Fixed typo in tutorial

Replaced "len" by "length", to match the given code example.

10 years agoauto merge of #13583 : FlaPer87/rust/special-unsafe, r=nikomatsakis
bors [Tue, 22 Apr 2014 13:21:33 +0000 (06:21 -0700)]
auto merge of #13583 : FlaPer87/rust/special-unsafe, r=nikomatsakis

This patch adds a special rule for `Unsafe<T>` and makes it `Share`
regardless of whether T is `Share`.

[breaking-change]

Closes #13125

cc @nikomatsakis

10 years agoSpecialize kinds inference for `Unsafe<T>`
Flavio Percoco [Thu, 17 Apr 2014 20:02:16 +0000 (22:02 +0200)]
Specialize kinds inference for `Unsafe<T>`

This patch adds a special rule for `Unsafe<T>` and makes it `Share`
regardless of whether T is `Share`.

[breaking-change]

Closes #13125

10 years agoauto merge of #13653 : jbcrail/rust/fix-comment-mistakes, r=alexcrichton
bors [Tue, 22 Apr 2014 12:06:33 +0000 (05:06 -0700)]
auto merge of #13653 : jbcrail/rust/fix-comment-mistakes, r=alexcrichton

10 years agoauto merge of #13646 : cgaebel/rust/hashmap-cleanup, r=alexcrichton
bors [Tue, 22 Apr 2014 10:16:33 +0000 (03:16 -0700)]
auto merge of #13646 : cgaebel/rust/hashmap-cleanup, r=alexcrichton

I went through the HashMap module, fixed spelling mistakes, minor inefficiencies, added tests, and other trivial changes. Hopefully this won't be a controversial PR.

10 years agoauto merge of #13630 : alexcrichton/rust/correct-green-bounds, r=brson
bors [Tue, 22 Apr 2014 09:06:35 +0000 (02:06 -0700)]
auto merge of #13630 : alexcrichton/rust/correct-green-bounds, r=brson

These were mistakenly not updated as part of the removal of the Send bound by
default on procedures.

cc #13629

10 years agoFix ICE when reporting closure and proc mismatch
Edward Wang [Mon, 21 Apr 2014 15:26:29 +0000 (23:26 +0800)]
Fix ICE when reporting closure and proc mismatch

Closes #13599

10 years agoauto merge of #13618 : yuriks/rust/lru-cache, r=brson
bors [Tue, 22 Apr 2014 06:01:39 +0000 (23:01 -0700)]
auto merge of #13618 : yuriks/rust/lru-cache, r=brson

Just a few space saving optimizations that end up making the code less cluttered too. I'd like to someone to review the last commit closely, I don't have much experience with writing unsafe code, I had someone walk me through how to use cast::forget in IRC.

10 years agoauto merge of #13587 : adrientetar/rust/more-docs, r=brson
bors [Tue, 22 Apr 2014 04:46:38 +0000 (21:46 -0700)]
auto merge of #13587 : adrientetar/rust/more-docs, r=brson

- Use Fira Sans for headlines, Heuristica for the body (Adobe Utopia derivative). Both are licensed under the SIL OFL license. (I didn't include BoldItalic because it is sparingly used.)
- Split TOC into 2 columns for the docs except manual (too tall, too wide to be readable).
- Some fixes to rustdoc, bring styles in coherency with eachother
- A few tweaks

Two examples: [modified tutorial](http://adrientetar.legtux.org/cached/rust-docs/tutorial.htm) and [modified manual](http://adrientetar.legtux.org/cached/rust-docs/manual.htm).

Rustdoc got some fixes, here is [modified `enum.FileType`](http://adrientetar.legtux.org/cached/rust-docs/enum.FileType.htm), [modified `std`](http://adrientetar.legtux.org/cached/rust-docs/std.htm) and [modified `std::io`](http://adrientetar.legtux.org/cached/rust-docs/io.htm).

#13484, #13485 follow-up.

cc @brson

10 years agostr: Inline `only_ascii` in string iterators.
Patrick Walton [Tue, 22 Apr 2014 03:58:34 +0000 (20:58 -0700)]
str: Inline `only_ascii` in string iterators.

Was killing performance of selector matching in Servo.

10 years agoUpdate the "Additional tutorials" link
Brendan McLoughlin [Tue, 22 Apr 2014 01:47:22 +0000 (21:47 -0400)]
Update the "Additional tutorials" link

10 years agoauto merge of #13435 : edwardw/rust/span, r=brson
bors [Tue, 22 Apr 2014 01:41:35 +0000 (18:41 -0700)]
auto merge of #13435 : edwardw/rust/span, r=brson

When reporting "consider removing this semicolon" hint message, the
offending semicolon may come from macro call site instead of macro
itself. Using the more appropriate span makes the hint more helpful.

Closes #13428.