]> git.lizzy.rs Git - rust.git/log
rust.git
9 years agoPut CFG_BUILD triples into CFG_HOST triples.
OGINO Masanori [Mon, 22 Jun 2015 03:53:34 +0000 (12:53 +0900)]
Put CFG_BUILD triples into CFG_HOST triples.

I've configured with the parameters suggested by @brson in #18670 and
confirmed that it works on Gentoo Linux amd64.

Fixes #18670.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
9 years agoAuto merge of #26479 - arielb1:expr-kind, r=eddyb
bors [Sun, 21 Jun 2015 22:41:00 +0000 (22:41 +0000)]
Auto merge of #26479 - arielb1:expr-kind, r=eddyb

Previously it also tried to find out the best way to translate the
expression, which could ICE during type-checking.

Fixes #23173
Fixes #24322
Fixes #25757

r? @eddyb

9 years agoAuto merge of #26463 - sfackler:stdout-panic-fix, r=alexcrichton
bors [Sun, 21 Jun 2015 20:14:45 +0000 (20:14 +0000)]
Auto merge of #26463 - sfackler:stdout-panic-fix, r=alexcrichton

If a local stderr is present but the normal stderr is missing, we still
want to print.

r? @alexcrichton

9 years agoMake expr_is_lval more robust
Ariel Ben-Yehuda [Sun, 21 Jun 2015 19:29:13 +0000 (22:29 +0300)]
Make expr_is_lval more robust

Previously it also tried to find out the best way to translate the
expression, which could ICE during type-checking.

Fixes #23173
Fixes #24322
Fixes #25757

9 years agoAuto merge of #25641 - geofft:execve-const, r=alexcrichton
bors [Sun, 21 Jun 2015 17:45:01 +0000 (17:45 +0000)]
Auto merge of #25641 - geofft:execve-const, r=alexcrichton

The `execv` family of functions and `getopt` are prototyped somewhat strangely in C: they take a `char *const argv[]` (and `envp`, for `execve`), an immutable array of mutable C strings -- in other words, a `char *const *argv` or `argv: *const *mut c_char`. The current Rust binding uses `*mut *const c_char`, which is backwards (a mutable array of constant C strings).

That said, these functions do not actually modify their arguments. Once upon a time, C didn't have `const`, and to this day, string literals in C have type `char *` (`*mut c_char`). So an array of string literals has type `char * []`, equivalent to `char **` in a function parameter (Rust `*mut *mut c_char`). C allows an implicit cast from `T **` to `T * const *` (`*const *mut T`) but not to `const T * const *` (`*const *const T`). Therefore, prototyping `execv` as taking `const char * const argv[]` would have broken existing code (by requiring an explicit cast), despite being more correct. So, even though these functions don't need mutable data, they're prototyped as if they do.

While it's theoretically possible that an implementation could choose to use its freedom to modify the mutable data, such an implementation would break the innumerable users of `execv`-family functions that call them with string literals. Such an implementation would also break `std::process`, which currently works around this with an unsafe `as *mut _` cast, and assumes that `execvp` secretly does not modify its argument. Furthermore, there's nothing useful to be gained by being able to write to the strings in `argv` themselves but not being able to write to the array containing those strings (you can't reorder arguments, add arguments, increase the length of any parameter, etc.).

So, despite the C prototype with its legacy C problems, it's simpler for everyone for Rust to consider these functions as taking `*const *const c_char`, and it's also safe to do so. Rust does not need to expose the mistakes of C here. This patch makes that change, and drops the unsafe cast in `std::process` since it's now unnecessary.

9 years agoAuto merge of #26457 - meqif:master, r=alexcrichton
bors [Sun, 21 Jun 2015 08:20:36 +0000 (08:20 +0000)]
Auto merge of #26457 - meqif:master, r=alexcrichton

The documentation of `std::net::Shutdown` mentions says it can be passed to the `shutdown` method of `UdpSocket`, which isn't true because `UdpSocket` has no such method. This commit removes that mention.

9 years agoAuto merge of #26455 - steveklabnik:gh26443, r=gankro
bors [Sun, 21 Jun 2015 06:48:50 +0000 (06:48 +0000)]
Auto merge of #26455 - steveklabnik:gh26443, r=gankro

Fixes #26443

r? @Gankro

9 years agoAuto merge of #26450 - rick68:patch-7, r=alexcrichton
bors [Sun, 21 Jun 2015 05:18:39 +0000 (05:18 +0000)]
Auto merge of #26450 - rick68:patch-7, r=alexcrichton

`core::num::from_str_radix` can't parse the prefix `+` .

http://is.gd/ewo0T2

9 years agoAuto merge of #26416 - retep998:error-debug, r=sfackler
bors [Sun, 21 Jun 2015 03:08:28 +0000 (03:08 +0000)]
Auto merge of #26416 - retep998:error-debug, r=sfackler

Fixes https://github.com/rust-lang/rust/issues/26408

Example output when using `Result::unwrap`:
```
thread '<main>' panicked at 'called `Result::unwrap()` on an `Err` value: Error { repr: Os { code: 2, message: "The system cannot find the file specified.\r\n" } }', src/libcore\result.rs:731
```

This could technically be considered a breaking change for any code that depends on the format of the `Debug` output for `io::Error` but I sincerely hope nobody wrote code like that.

9 years agoFix logic in panic printing with no stderr
Steven Fackler [Sun, 21 Jun 2015 02:54:15 +0000 (19:54 -0700)]
Fix logic in panic printing with no stderr

If a local stderr is present but the normal stderr is missing, we still
want to print.

9 years agoAuto merge of #26460 - nham:test-18809, r=huonw
bors [Sun, 21 Jun 2015 01:37:50 +0000 (01:37 +0000)]
Auto merge of #26460 - nham:test-18809, r=huonw

Closes #18809.

9 years agoAuto merge of #26381 - alexcrichton:fix-srel, r=brson
bors [Sat, 20 Jun 2015 23:09:55 +0000 (23:09 +0000)]
Auto merge of #26381 - alexcrichton:fix-srel, r=brson

In #26252 support was added to have prettier paths printed out on failure by not
passing the full path to the source file to the compiler, but instead just a
small relative path. To preserve this relative path across configurations, the
`SREL` variable was used for reconfiguring, but if `SREL` is empty then it will
attempt to run the command `configure` which is distinct from running
`./configure` (e.g. doesn't run the local script).

This commit modifies the `SREL` value to re-run the configure script by setting
it to `./` in the case where `SREL` is empty.

9 years agoAuto merge of #26198 - stygstra:issue-24258, r=huonw
bors [Sat, 20 Jun 2015 21:36:49 +0000 (21:36 +0000)]
Auto merge of #26198 - stygstra:issue-24258, r=huonw

When overflow checking on `<<` and `>>` was added for integers, the `<<` and `>>` operations broke for SIMD types (`u32x4`, `i16x8`, etc.). This PR implements checked shifts on SIMD types.

Fixes #24258.

9 years agoAdd a regression test for issue #18809.
Nick Hamann [Sat, 20 Jun 2015 21:02:33 +0000 (16:02 -0500)]
Add a regression test for issue #18809.

Closes #18809.

9 years agoAuto merge of #26411 - dotdash:fat_in_registers, r=aatch
bors [Sat, 20 Jun 2015 19:29:33 +0000 (19:29 +0000)]
Auto merge of #26411 - dotdash:fat_in_registers, r=aatch

This has a number of advantages compared to creating a copy in memory
and passing a pointer. The obvious one is that we don't have to put the
data into memory but can keep it in registers. Since we're currently
passing a pointer anyway (instead of using e.g. a known offset on the
stack, which is what the `byval` attribute would achieve), we only use a
single additional register for each fat pointer, but save at least two
pointers worth of stack in exchange (sometimes more because more than
one copy gets eliminated). On archs that pass arguments on the stack, we
save a pointer worth of stack even without considering the omitted
copies.

Additionally, LLVM can optimize the code a lot better, to a large degree
due to the fact that lots of copies are gone or can be optimized away.
Additionally, we can now emit attributes like nonnull on the data and/or
vtable pointers contained in the fat pointer, potentially allowing for
even more optimizations.

This results in LLVM passes being about 3-7% faster (depending on the
crate), and the resulting code is also a few percent smaller, for
example:

|text|data|filename|
|----|----|--------|
|5671479|3941461|before/librustc-d8ace771.so|
|5447663|3905745|after/librustc-d8ace771.so|
| | | |
|1944425|2394024|before/libstd-d8ace771.so|
|1896769|2387610|after/libstd-d8ace771.so|

I had to remove a call in the backtrace-debuginfo test, because LLVM can
now merge the tails of some blocks when optimizations are turned on,
which can't correctly preserve line info.

Fixes #22924

Cc #22891 (at least for fat pointers the code is good now)

9 years agoTRPL: FFI: address panics
Steve Klabnik [Sat, 20 Jun 2015 16:00:29 +0000 (12:00 -0400)]
TRPL: FFI: address panics

Fixes #26443

9 years agoAuto merge of #26456 - Manishearth:rollup, r=Manishearth
bors [Sat, 20 Jun 2015 17:53:36 +0000 (17:53 +0000)]
Auto merge of #26456 - Manishearth:rollup, r=Manishearth

- Successful merges: #26410, #26432, #26434, #26439, #26451, #26452
- Failed merges:

9 years agoRemove mention of `UdpSocket` in `Shutdown` docs.
Ricardo Martins [Sat, 20 Jun 2015 17:27:11 +0000 (18:27 +0100)]
Remove mention of `UdpSocket` in `Shutdown` docs.

9 years agoPass fat pointers in two immediate arguments
Björn Steinbrink [Thu, 18 Jun 2015 21:57:40 +0000 (23:57 +0200)]
Pass fat pointers in two immediate arguments

This has a number of advantages compared to creating a copy in memory
and passing a pointer. The obvious one is that we don't have to put the
data into memory but can keep it in registers. Since we're currently
passing a pointer anyway (instead of using e.g. a known offset on the
stack, which is what the `byval` attribute would achieve), we only use a
single additional register for each fat pointer, but save at least two
pointers worth of stack in exchange (sometimes more because more than
one copy gets eliminated). On archs that pass arguments on the stack, we
save a pointer worth of stack even without considering the omitted
copies.

Additionally, LLVM can optimize the code a lot better, to a large degree
due to the fact that lots of copies are gone or can be optimized away.
Additionally, we can now emit attributes like nonnull on the data and/or
vtable pointers contained in the fat pointer, potentially allowing for
even more optimizations.

This results in LLVM passes being about 3-7% faster (depending on the
crate), and the resulting code is also a few percent smaller, for
example:

   text    data  filename
5671479 3941461  before/librustc-d8ace771.so
5447663 3905745  after/librustc-d8ace771.so

1944425 2394024  before/libstd-d8ace771.so
1896769 2387610  after/libstd-d8ace771.so

I had to remove a call in the backtrace-debuginfo test, because LLVM can
now merge the tails of some blocks when optimizations are turned on,
which can't correctly preserve line info.

Fixes #22924

Cc #22891 (at least for fat pointers the code is good now)

9 years agoRollup merge of #26452 - michaelsproul:the-second-coming, r=pnkfelix
Manish Goregaokar [Sat, 20 Jun 2015 16:10:37 +0000 (21:40 +0530)]
Rollup merge of #26452 - michaelsproul:the-second-coming, r=pnkfelix

As per #26009 this PR implements a new collation system for extended-error metadata. I've tried to keep it as simple as possible for now, so there's no uniqueness checking and minimal modularity.

Although using a lint was discussed in #26009 I decided against this because it would require converting the AST output from the plugin back into an internal data-structure. Emitting the metadata from within the plugin prevents this double-handling. We also didn't identify this as the source of the failures last time, although something untoward was definitely happening... With that in mind I would like as much feedback as possible on this before it's merged, I don't want to break the bots again!

I've successfully built for my host architecture and I'm building an ARM cross-compiler now to test my assumptions about the various `CFG` variables. Despite the confusing name of `CFG_COMPILER_HOST_TRIPLE` it is actually the compile time target triple, as explained in `mk/target.mk`.

```
# This is the compile-time target-triple for the compiler. For the compiler at
# runtime, this should be considered the host-triple. More explanation for why
# this exists can be found on issue #2400
export CFG_COMPILER_HOST_TRIPLE
```

CC @pnkfelix @brson @nrc @alexcrichton

Closes #25705, closes #26009.

9 years agoRollup merge of #26451 - nham:fix_18058, r=arielb1
Manish Goregaokar [Sat, 20 Jun 2015 16:10:37 +0000 (21:40 +0530)]
Rollup merge of #26451 - nham:fix_18058, r=arielb1

Fixes #18058.

9 years agoRollup merge of #26439 - Gankro:marker, r=pnkfelix
Manish Goregaokar [Sat, 20 Jun 2015 16:10:36 +0000 (21:40 +0530)]
Rollup merge of #26439 - Gankro:marker, r=pnkfelix

r? @pnkfelix

9 years agoRollup merge of #26434 - Munksgaard:issue24227-test, r=alexcrichton
Manish Goregaokar [Sat, 20 Jun 2015 16:10:36 +0000 (21:40 +0530)]
Rollup merge of #26434 - Munksgaard:issue24227-test, r=alexcrichton

9 years agoRollup merge of #26432 - steveklabnik:gh26424, r=alexcrichton
Manish Goregaokar [Sat, 20 Jun 2015 16:10:36 +0000 (21:40 +0530)]
Rollup merge of #26432 - steveklabnik:gh26424, r=alexcrichton

Fixes #26424

9 years agoRollup merge of #26410 - tshepang:patch-3, r=steveklabnik
Manish Goregaokar [Sat, 20 Jun 2015 16:10:36 +0000 (21:40 +0530)]
Rollup merge of #26410 - tshepang:patch-3, r=steveklabnik

9 years agoAuto merge of #26430 - dhuseby:updating_installer, r=alexcrichton
bors [Sat, 20 Jun 2015 15:59:28 +0000 (15:59 +0000)]
Auto merge of #26430 - dhuseby:updating_installer, r=alexcrichton

bumping the dependency on rust-installer to include the recent bitrig fixes.

9 years agoAuto merge of #26417 - brson:feature-err, r=steveklabnik
bors [Sat, 20 Jun 2015 14:24:19 +0000 (14:24 +0000)]
Auto merge of #26417 - brson:feature-err, r=steveklabnik

It now says '#[feature] may not be used on the stable release channel'.

I had to convert this error from a lint to a normal compiler error.

I left the lint previously-used for this in place since removing it is
a breaking change. It will just go unused until the end of time.

Fixes #24125

9 years agoAuto merge of #26407 - arielb1:paren-binding, r=eddyb
bors [Sat, 20 Jun 2015 09:44:43 +0000 (09:44 +0000)]
Auto merge of #26407 - arielb1:paren-binding, r=eddyb

r? @eddyb

9 years agoAuto merge of #26305 - Nashenas88:field-method-message-2392, r=eddyb
bors [Sat, 20 Jun 2015 08:08:48 +0000 (08:08 +0000)]
Auto merge of #26305 - Nashenas88:field-method-message-2392, r=eddyb

This fixes #2392

I'd like to thank @eddyb for helping me on this one! I wouldn't have gotten the complicated FnOnce check done without his help.

9 years agodiagnostics: Resurrect the Compiler Error Index.
Michael Sproul [Sat, 20 Jun 2015 06:30:01 +0000 (16:30 +1000)]
diagnostics: Resurrect the Compiler Error Index.

9 years agoUpdate mod.rs
Wei-Ming Yang [Sat, 20 Jun 2015 06:40:04 +0000 (14:40 +0800)]
Update mod.rs

`core::num::from_str_radix` can't parse the prefix `+` .

http://is.gd/ewo0T2

9 years agoAuto merge of #26383 - frewsxcv:regression-tests-23649, r=alexcrichton
bors [Sat, 20 Jun 2015 06:31:59 +0000 (06:31 +0000)]
Auto merge of #26383 - frewsxcv:regression-tests-23649, r=alexcrichton

Closes #23649

9 years agoAdd a regression test for #18058.
Nick Hamann [Sat, 20 Jun 2015 06:31:31 +0000 (01:31 -0500)]
Add a regression test for #18058.

Fixes #18058.

9 years agoAuto merge of #26382 - alexcrichton:less-racy-path, r=brson
bors [Sat, 20 Jun 2015 04:56:46 +0000 (04:56 +0000)]
Auto merge of #26382 - alexcrichton:less-racy-path, r=brson

Environment variables are global state so this can lead to surprising results if
the driver is called in a multithreaded environment (e.g. doctests). There
shouldn't be any memory corruption that's possible, but a lot of the bots have
been failing because they can't find `cc` or `gcc` in the path during doctests,
and I highly suspect that it is due to the compiler modifying `PATH` in a
multithreaded fashion.

This commit moves the logic for appending to `PATH` to only affect the child
process instead of also affecting the parent, at least for the linking stage.
When loading dynamic libraries the compiler still modifies `PATH` on Windows,
but this may be more difficult to fix than spawning off a new process.

9 years agoliblibc: Fix prototype of functions taking `char *const argv[]`
Geoffrey Thomas [Sat, 20 Jun 2015 01:11:10 +0000 (21:11 -0400)]
liblibc: Fix prototype of functions taking `char *const argv[]`

The execv family of functions do not modify their arguments, so they do
not need mutable pointers. The C prototypes take a constant array of
mutable C-strings, but that's a legacy quirk from before C had const
(since C string literals have type `char *`). The Rust prototypes had
`*mut` in the wrong place, anyway: to match the C prototypes, it should
have been `*const *mut c_char`. But it is safe to pass constant strings
(like string literals) to these functions.

getopt is a special case, since GNU getopt modifies its arguments
despite the `const` claim in the prototype. It is apparently only
well-defined to call getopt on the actual argc and argv parameters
passed to main, anyway. Change it to take `*mut *mut c_char` for an
attempt at safety, but probably nobody should be using it from Rust,
since there's no great way to get at the parameters as passed to main.

Also fix the one caller of execvp in libstd, which now no longer needs
an unsafe cast.

Fixes #16290.

9 years agoSupport checked Shl/Shr on SIMD types
David Stygstra [Tue, 9 Jun 2015 21:45:45 +0000 (17:45 -0400)]
Support checked Shl/Shr on SIMD types

9 years agoMake trans_arg_datum fill a destination vector instead of returning its result
Björn Steinbrink [Thu, 18 Jun 2015 19:16:47 +0000 (21:16 +0200)]
Make trans_arg_datum fill a destination vector instead of returning its result

This makes it easier to support translating a single rust argument to
more than one llvm argument value later.

9 years agoSimplify argument forwarding in the various shim generators
Björn Steinbrink [Thu, 18 Jun 2015 18:07:36 +0000 (20:07 +0200)]
Simplify argument forwarding in the various shim generators

9 years agoUse a single match arm for all TyRef variants when deducing function argument attributes
Björn Steinbrink [Thu, 18 Jun 2015 12:23:19 +0000 (14:23 +0200)]
Use a single match arm for all TyRef variants when deducing function argument attributes

This makes it a lot easier to later add attributes for fat pointers.

9 years agoAuto merge of #26200 - brson:relnotes, r=aturon
bors [Sat, 20 Jun 2015 01:17:02 +0000 (01:17 +0000)]
Auto merge of #26200 - brson:relnotes, r=aturon

[Randard](https://github.com/brson/rust/blob/relnotes/RELEASES.md).

I need help identifying language things and highlights, and I am kind of tired of the `~X changes, numerous bugfixes` thing, which was cute for a few years.

cc @aturon @nrc @pnkfelix

9 years agofixup! Wrapped inferred context changes in a probe, handle fnOnce trait require error...
Paul Faria [Mon, 15 Jun 2015 22:20:18 +0000 (18:20 -0400)]
fixup! Wrapped inferred context changes in a probe, handle fnOnce trait require error with a fallback, renamed variable to something clearer

9 years agoWrapped inferred context changes in a probe, handle fnOnce trait require error with...
Paul Faria [Mon, 15 Jun 2015 18:49:04 +0000 (14:49 -0400)]
Wrapped inferred context changes in a probe, handle fnOnce trait require error with a fallback, renamed variable to something clearer

9 years agoHandle error case safely with a fallback
Paul Faria [Mon, 15 Jun 2015 16:28:14 +0000 (12:28 -0400)]
Handle error case safely with a fallback

9 years agofixup! Finished implementing proper function check (through FnOnce) and moved tests...
Paul Faria [Mon, 15 Jun 2015 01:01:26 +0000 (21:01 -0400)]
fixup! Finished implementing proper function check (through FnOnce) and moved tests to new file and updated tests

9 years agoFinished implementing proper function check (through FnOnce) and moved tests to new...
Paul Faria [Mon, 15 Jun 2015 00:07:05 +0000 (20:07 -0400)]
Finished implementing proper function check (through FnOnce) and moved tests to new file and updated tests

9 years agoFixed note message to display expression in recommendations
Paul Faria [Sun, 14 Jun 2015 06:49:00 +0000 (02:49 -0400)]
Fixed note message to display expression in recommendations

9 years agoUncomplete fix for #2392
Paul Faria [Sat, 13 Jun 2015 18:47:10 +0000 (14:47 -0400)]
Uncomplete fix for #2392

9 years agoAuto merge of #24527 - nikomatsakis:issue-24085, r=nikomatsakis
bors [Fri, 19 Jun 2015 22:56:38 +0000 (22:56 +0000)]
Auto merge of #24527 - nikomatsakis:issue-24085, r=nikomatsakis

Expand the "givens" set to cover transitive relations.  The givens array
stores relationships like `'c <= '0` (where `'c` is a free region and
`'0` is an inference variable) that are derived from closure
arguments. These are (rather hackily) ignored for purposes of inference,
preventing spurious errors. The current code did not handle transitive
cases like `'c <= '0` and `'0 <= '1`. Fixes #24085.

r? @pnkfelix
cc @bkoropoff

*But* I am not sure whether this fix will have a compile-time hit. I'd like to push to try branch observe cycle times.

9 years agoadd note for future type-system adventurers
Alexis Beingessner [Fri, 19 Jun 2015 20:55:01 +0000 (13:55 -0700)]
add note for future type-system adventurers

9 years agoAdd regression tests for #23649
Corey Farwell [Thu, 18 Jun 2015 01:23:44 +0000 (18:23 -0700)]
Add regression tests for #23649

Closes #23649

9 years agoAuto merge of #26351 - eddyb:tls-tcx, r=nikomatsakis
bors [Fri, 19 Jun 2015 20:43:14 +0000 (20:43 +0000)]
Auto merge of #26351 - eddyb:tls-tcx, r=nikomatsakis

Pre-requisite for splitting the type context into global and local parts.
The `Repr` and `UserString` traits were also replaced by `Debug` and `Display`.

9 years agoAdd a test for Debug for io::Error
Peter Atashian [Fri, 19 Jun 2015 16:55:59 +0000 (12:55 -0400)]
Add a test for Debug for io::Error

Signed-off-by: Peter Atashian <retep998@gmail.com>
9 years agoAuto merge of #26428 - Manishearth:rollup, r=Manishearth
bors [Fri, 19 Jun 2015 16:42:17 +0000 (16:42 +0000)]
Auto merge of #26428 - Manishearth:rollup, r=Manishearth

- Successful merges: #26388, #26401, #26414, #26427
- Failed merges:

9 years agoAdd test for #24227
Philip Munksgaard [Fri, 19 Jun 2015 16:36:54 +0000 (18:36 +0200)]
Add test for #24227

9 years agoExpand the "givens" set to cover transitive relations. The givens array
Niko Matsakis [Fri, 17 Apr 2015 14:01:45 +0000 (10:01 -0400)]
Expand the "givens" set to cover transitive relations.  The givens array
stores relationships like `'c <= '0` (where `'c` is a free region and
`'0` is an inference variable) that are derived from closure
arguments. These are (rather hackily) ignored for purposes of inference,
preventing spurious errors. The current code did not handle transitive
cases like `'c <= '0` and `'0 <= '1`. Fixes #24085.

9 years agoFix docs for column/line
Steve Klabnik [Fri, 19 Jun 2015 15:22:37 +0000 (11:22 -0400)]
Fix docs for column/line

Fixes #26424

9 years agoRollup merge of #26427 - GuillaumeGomez:patch-7, r=Manishearth
Manish Goregaokar [Fri, 19 Jun 2015 12:11:10 +0000 (17:41 +0530)]
Rollup merge of #26427 - GuillaumeGomez:patch-7, r=Manishearth

See #26396, #26400, #26399, #26398 and #26393.

9 years agoRollup merge of #26414 - alexcrichton:msvc-fix-build, r=brson
Manish Goregaokar [Fri, 19 Jun 2015 12:11:09 +0000 (17:41 +0530)]
Rollup merge of #26414 - alexcrichton:msvc-fix-build, r=brson

Currently all these do is cause linker errors as they try to lower to GNU-like
exception handling, none of which exists with MSVC.

9 years agoRollup merge of #26401 - jooert:fix26360, r=steveklabnik
Manish Goregaokar [Fri, 19 Jun 2015 12:11:09 +0000 (17:41 +0530)]
Rollup merge of #26401 - jooert:fix26360, r=steveklabnik

Fixes #26360.

r? @steveklabnik

9 years agoRollup merge of #26388 - frewsxcv:regression-tests-21622, r=alexcrichton
Manish Goregaokar [Fri, 19 Jun 2015 12:11:09 +0000 (17:41 +0530)]
Rollup merge of #26388 - frewsxcv:regression-tests-21622, r=alexcrichton

Closes #21622

9 years agoRemove error codes from macro
Guillaume Gomez [Fri, 19 Jun 2015 12:06:33 +0000 (14:06 +0200)]
Remove error codes from macro

9 years agoReplace "Bad example" by a better sentence
Guillaume Gomez [Fri, 19 Jun 2015 12:05:11 +0000 (14:05 +0200)]
Replace "Bad example" by a better sentence

9 years agoAdd E0016 explanation
Guillaume Gomez [Fri, 19 Jun 2015 12:03:07 +0000 (14:03 +0200)]
Add E0016 explanation

9 years agoAdd Universal Function Call Syntax example
Guillaume Gomez [Fri, 19 Jun 2015 12:01:55 +0000 (14:01 +0200)]
Add Universal Function Call Syntax example

9 years agoAdd E0034 error explanation
Guillaume Gomez [Fri, 19 Jun 2015 11:59:51 +0000 (13:59 +0200)]
Add E0034 error explanation

9 years agoRemove unneeded indentation
Guillaume Gomez [Fri, 19 Jun 2015 11:58:52 +0000 (13:58 +0200)]
Remove unneeded indentation

9 years agoAdd E0035 error explanation
Guillaume Gomez [Fri, 19 Jun 2015 11:58:15 +0000 (13:58 +0200)]
Add E0035 error explanation

9 years agoGood time concordance
Guillaume Gomez [Fri, 19 Jun 2015 11:56:53 +0000 (13:56 +0200)]
Good time concordance

9 years agoAdd E0036 error explanation
Guillaume Gomez [Fri, 19 Jun 2015 11:54:57 +0000 (13:54 +0200)]
Add E0036 error explanation

9 years agoupdating installer to fix install issues on bitrig
Dave Huseby [Fri, 19 Jun 2015 06:43:46 +0000 (23:43 -0700)]
updating installer to fix install issues on bitrig

9 years agoCustom Debug impl for io::Error
Peter Atashian [Fri, 19 Jun 2015 02:16:46 +0000 (22:16 -0400)]
Custom Debug impl for io::Error
Fixes #26408

Signed-off-by: Peter Atashian <retep998@gmail.com>
9 years agoMake a better error message for using #[feature] on stable rust
Brian Anderson [Thu, 18 Jun 2015 00:48:16 +0000 (17:48 -0700)]
Make a better error message for using #[feature] on stable rust

It now says '#[feature] may not be used on the stable release channel'.

I had to convert this error from a lint to a normal compiler error.

I left the lint previously-used for this in place since removing it is
a breaking change. It will just go unused until the end of time.

Fixes #24125

9 years agoAuto merge of #26413 - alexcrichton:from-raw-fd-prelude, r=sfackler
bors [Thu, 18 Jun 2015 23:28:41 +0000 (23:28 +0000)]
Auto merge of #26413 - alexcrichton:from-raw-fd-prelude, r=sfackler

These were just left out by mistake!

9 years agostd: Add FromRaw{Fd,Handle,Socket} to os preludes
Alex Crichton [Thu, 18 Jun 2015 23:14:50 +0000 (16:14 -0700)]
std: Add FromRaw{Fd,Handle,Socket} to os preludes

These were just left out by mistake!

9 years agoRemove extra fmt::Debug impl for VtableClosureData from #26147.
Eduard Burtescu [Thu, 18 Jun 2015 22:45:20 +0000 (01:45 +0300)]
Remove extra fmt::Debug impl for VtableClosureData from #26147.

9 years agorustc: add more doc comments to ty::Lift and ty::with_ctxt.
Eduard Burtescu [Thu, 18 Jun 2015 17:57:24 +0000 (20:57 +0300)]
rustc: add more doc comments to ty::Lift and ty::with_ctxt.

9 years agorustc: remove Repr and UserString.
Eduard Burtescu [Thu, 18 Jun 2015 17:25:05 +0000 (20:25 +0300)]
rustc: remove Repr and UserString.

9 years agorustc: replace Repr/UserString impls with Debug/Display ones.
Eduard Burtescu [Thu, 18 Jun 2015 05:51:23 +0000 (08:51 +0300)]
rustc: replace Repr/UserString impls with Debug/Display ones.

9 years agoMove AST Repr impls to Debug impls in libsyntax.
Eduard Burtescu [Wed, 17 Jun 2015 06:56:27 +0000 (09:56 +0300)]
Move AST Repr impls to Debug impls in libsyntax.

9 years agorustc: remove some unused UserString and Repr impls.
Eduard Burtescu [Wed, 17 Jun 2015 06:53:07 +0000 (09:53 +0300)]
rustc: remove some unused UserString and Repr impls.

9 years agoClean up unused argument/variable warnings.
Eduard Burtescu [Tue, 16 Jun 2015 22:39:20 +0000 (01:39 +0300)]
Clean up unused argument/variable warnings.

9 years agorustc: use the TLS type context in Repr and UserString.
Eduard Burtescu [Tue, 16 Jun 2015 22:39:06 +0000 (01:39 +0300)]
rustc: use the TLS type context in Repr and UserString.

9 years agorustc_trans: Disable landing pads on MSVC
Alex Crichton [Thu, 18 Jun 2015 22:24:36 +0000 (15:24 -0700)]
rustc_trans: Disable landing pads on MSVC

Currently all these do is cause linker errors as they try to lower to GNU-like
exception handling, none of which exists with MSVC.

9 years agorustc: allow "lifting" T<'a> to T<'tcx> if the value is part of ty::ctxt<'tcx>.
Eduard Burtescu [Tue, 16 Jun 2015 21:33:36 +0000 (00:33 +0300)]
rustc: allow "lifting" T<'a> to T<'tcx> if the value is part of ty::ctxt<'tcx>.

9 years agorustc: store the type context in TLS and allow safe access to it.
Eduard Burtescu [Tue, 16 Jun 2015 21:33:10 +0000 (00:33 +0300)]
rustc: store the type context in TLS and allow safe access to it.

9 years agorustc: leave only one free top-level function in ppaux, and private.
Eduard Burtescu [Mon, 15 Jun 2015 22:10:55 +0000 (01:10 +0300)]
rustc: leave only one free top-level function in ppaux, and private.

9 years agorustc: use Repr and UserString instead of ppaux::ty_to_string.
Eduard Burtescu [Mon, 15 Jun 2015 02:31:01 +0000 (05:31 +0300)]
rustc: use Repr and UserString instead of ppaux::ty_to_string.

9 years agorustc: reduce ppaux's public footprint to 5 functions.
Eduard Burtescu [Sun, 14 Jun 2015 03:46:04 +0000 (06:46 +0300)]
rustc: reduce ppaux's public footprint to 5 functions.

9 years agorustc: enforce stack discipline on ty::ctxt.
Eduard Burtescu [Sun, 14 Jun 2015 01:50:23 +0000 (04:50 +0300)]
rustc: enforce stack discipline on ty::ctxt.

9 years agorustc_resolve: don't require redundant arguments to resolve_crate.
Eduard Burtescu [Sat, 13 Jun 2015 23:35:18 +0000 (02:35 +0300)]
rustc_resolve: don't require redundant arguments to resolve_crate.

9 years agorustc: remove ownership of tcx from trans' context.
Eduard Burtescu [Sat, 13 Jun 2015 22:49:28 +0000 (01:49 +0300)]
rustc: remove ownership of tcx from trans' context.

9 years agoREADME: improve description of Rust
Tshepang Lekhonkhobe [Thu, 18 Jun 2015 21:48:51 +0000 (23:48 +0200)]
README: improve description of Rust

9 years agoAuto merge of #26147 - arielb1:assoc-trans, r=nikomatsakis
bors [Thu, 18 Jun 2015 21:34:04 +0000 (21:34 +0000)]
Auto merge of #26147 - arielb1:assoc-trans, r=nikomatsakis

Fixes #25700

r? @nikomatsakis

9 years agoUpdate RELEASES.md for 1.1
Brian Anderson [Thu, 11 Jun 2015 01:59:55 +0000 (18:59 -0700)]
Update RELEASES.md for 1.1

9 years agoFix #23589
Ariel Ben-Yehuda [Thu, 18 Jun 2015 20:18:15 +0000 (23:18 +0300)]
Fix #23589

9 years agoNormalize associated types in closure signatures
Ariel Ben-Yehuda [Tue, 9 Jun 2015 21:09:37 +0000 (00:09 +0300)]
Normalize associated types in closure signatures

Fixes #25700.

9 years agoAuto merge of #26192 - alexcrichton:features-clean, r=aturon
bors [Thu, 18 Jun 2015 19:14:52 +0000 (19:14 +0000)]
Auto merge of #26192 - alexcrichton:features-clean, r=aturon

This commit shards the all-encompassing `core`, `std_misc`, `collections`, and `alloc` features into finer-grained components that are much more easily opted into and tracked. This reflects the effort to push forward current unstable APIs to either stabilization or removal. Keeping track of unstable features on a much more fine-grained basis will enable the library subteam to quickly analyze a feature and help prioritize internally about what APIs should be stabilized.

A few assorted APIs were deprecated along the way, but otherwise this change is just changing the feature name associated with each API. Soon we will have a dashboard for keeping track of all the unstable APIs in the standard library, and I'll also start making issues for each unstable API after performing a first-pass for stabilization.

9 years agoSimplify and type_known_to_meet_builtin_bound and make it more correct when
Ariel Ben-Yehuda [Tue, 9 Jun 2015 18:33:28 +0000 (21:33 +0300)]
Simplify and type_known_to_meet_builtin_bound and make it more correct when
associated types are involved.

9 years agoFix libstd tests
Alex Crichton [Fri, 12 Jun 2015 17:49:39 +0000 (10:49 -0700)]
Fix libstd tests

9 years agorustdoc: Update document title when displaying search results
Johannes Oertel [Thu, 18 Jun 2015 15:11:44 +0000 (17:11 +0200)]
rustdoc: Update document title when displaying search results

Fixes #26360.