Niko Matsakis
39221a013f
Implement the Fn
trait for bare fn pointers in the compiler rather than doing it using hard-coded impls. This means that it works also for more complex fn types involving bound regions. Fixes #19126 .
2014-12-04 01:49:42 -05:00
bors
207a508411
auto merge of #18770 : pczarn/rust/hash_map-explicit-shrinking, r=Gankro
...
Part of enforcing capacity-related conventions, for #18424 , the collections reform.
Implements `fn shrink_to_fit` for HashMap.
The `reserve` method now takes as an argument the *extra* space to reserve.
2014-12-04 01:07:48 +00:00
bors
daa0745886
auto merge of #18749 : nikomatsakis/rust/builtin-bounds-like-other-traits, r=pcwalton
...
Treat builtin bounds like all other kinds of trait matches. Introduce a simple hashset in the fulfillment context to catch cases where we register the exact same obligation twice. This helps prevent duplicate error reports but also handles the recursive obligations created by builtin bounds.
r? @pcwalton
cc @FlaPer87
2014-12-03 22:57:40 +00:00
bors
dbc379a66e
auto merge of #19502 : alexcrichton/rust/issue-19501, r=sfackler
...
I don't have enough time to investigate this thoroughly, so for now let's get
the queue moving by ignoring this test.
cc #19501
2014-12-03 18:52:48 +00:00
Alex Crichton
719c36c9b9
test: Ignore issue-19501 pretty for now
...
I don't have enough time to investigate this thoroughly, so for now let's get
the queue moving by ignoring this test.
cc #19501
2014-12-03 09:22:13 -08:00
Niko Matsakis
931758c88a
FIXME( #19481 ) -- workaround valgrind cleanup failure (but the code is nicer this way anyhow)
2014-12-02 20:17:55 -05:00
Niko Matsakis
594e21f19b
Correct various compile-fail tests. Most of the changes are because we
...
now don't print duplicate errors within one context, so I sometimes
had to break functions into two functions.
2014-12-02 19:05:14 -05:00
Niko Matsakis
d85ff16173
Treat builtin bounds like all other kinds of trait matches. Introduce a simple hashset in the fulfillment context to catch cases where we register the exact same obligation twice. This helps prevent duplicate error reports but also handles the recursive obligations created by builtin bounds.
2014-12-02 19:05:14 -05:00
bors
3a325c666d
auto merge of #19460 : steveklabnik/rust/conf_fixes, r=alexcrichton
2014-12-02 17:47:14 +00:00
Steve Klabnik
5a2048f7bb
remove two unneccesary directories from configure
2014-12-02 09:21:28 -05:00
bors
738d9803ac
auto merge of #19443 : nodakai/rust/another-missing-extracflags, r=alexcrichton
...
rust-lang/rust@102b1a5bf1 was not enough!
2014-12-02 12:02:06 +00:00
bors
2b35e6fa08
auto merge of #19357 : michaelwoerister/rust/fix-issue-18791, r=alexcrichton
...
One negative side-effect of this change is that there might be quite a bit of copying strings out of the codemap, i.e. one copy for every block that gets translated, just for taking a look at the last character of the block. If this turns out to cause a performance problem then `CodeMap::span_to_snippet()` could be changed return `Option<&str>` instead of `Option<String>`.
Fixes #18791
2014-12-02 10:06:58 +00:00
bors
8dbe63200d
auto merge of #19427 : scialex/rust/doc-attr-macros, r=sfackler
...
this allows one to, for example, use #[doc = $macro_var ] in macros.
2014-12-02 07:22:02 +00:00
bors
8a210af7e5
auto merge of #19450 : jbapple/rust/pq-pop-time, r=Gankro
...
pop calls siftdown, siftdown calls siftdown_range, and siftdown_range
loops on an index that can start as low as 0 and approximately doubles
each iteration.
2014-12-02 02:52:15 +00:00
Jim Apple
0212dff902
Pop on binary heaps does not have constant time complexity.
...
pop calls siftdown, siftdown calls siftdown_range, and siftdown_range
loops on an index that can start as low as 0 and approximately doubles
each iteration.
2014-12-01 18:12:48 -08:00
Michael Woerister
61a0a7f0a3
debuginfo: Fix multi-byte character related bug in cleanup scope handling.
...
Also see issue #18791 .
2014-12-01 16:22:00 -08:00
bors
5484d6f6d2
auto merge of #19439 : nodakai/rust/liblibc-getsid, r=acrichto
...
```
#include <unistd.h>
pid_t getsid(pid_t pid);
CONFORMING TO
SVr4, POSIX.1-2001.
```
2014-12-02 00:22:00 +00:00
bors
21ba1d5e58
auto merge of #19405 : jfager/rust/de-match-pyramid, r=bstrie
...
No semantic changes, no enabling `if let` where it wasn't already enabled.
2014-12-01 21:56:53 +00:00
NODA, Kai
2d3de6686e
test/run-make: another missing $(EXTRACFLAGS).
...
rust-lang/rust@102b1a5bf1 was not enough!
Signed-off-by: NODA, Kai <nodakai@gmail.com>
2014-12-02 04:52:29 +08:00
NODA, Kai
2018510dd9
liblibc: getsid() was missing though setsid() was already there.
...
include <unistd.h>
pid_t getsid(pid_t pid);
CONFORMING TO
SVr4, POSIX.1-2001.
Signed-off-by: NODA, Kai <nodakai@gmail.com>
2014-12-02 02:50:57 +08:00
bors
de95ad4c46
auto merge of #19436 : lifthrasiir/rust/rustdoc-short-src-paths, r=alexcrichton
...
Before: `doc/src/collections/home/lifthrasiir/git/rust/src/libcollections/vec.rs.html`
After: `doc/src/collections/vec.rs.html`
If the source code is in the parent dirs relative to the crate root, `..` is replaced with `up` as expected. Any other error like non-UTF-8 paths or drive-relative paths falls back to the absolute path.
There might be a way to improve on false negatives, but this alone should be enough for fixing #18370 .
2014-12-01 17:51:55 +00:00
Alexander Light
d3bbfb48bd
added negative test for macro expansion in attributes
2014-12-01 11:08:29 -05:00
Kang Seonghoon
08fb9aa2d2
rustdoc: Use relative paths in source renders.
...
Before: doc/src/collections/home/lifthrasiir/git/rust/src/libcollections/vec.rs.html
After: doc/src/collections/vec.rs.html
If the source code is in the parent dirs relative to the crate root,
`..` is replaced with `up` as expected. Any other error like non-UTF-8
paths or drive-relative paths falls back to the absolute path.
There might be a way to improve on false negatives, but this alone
should be enough for fixing #18370 .
2014-12-01 20:53:11 +09:00
bors
09f04bf2c9
auto merge of #19417 : alexcrichton/rust/issue-19383, r=huonw
...
We only build LLVM for the host architecture, not the target architecture, so
this was just a minor typo in the parameters uses.
Closes #19383
2014-12-01 07:11:53 +00:00
bors
bda97e8557
auto merge of #19425 : frewsxcv/rust/patch-1, r=steveklabnik
...
![](http://img2.wikia.nocookie.net/__cb20140809223829/disney/images/5/56/Darkwing_Duck_Poster_Promo.jpg )
2014-12-01 05:11:50 +00:00
Alexander Light
5c20a1535e
Add test for expanding doc strings in macros.
2014-11-30 21:05:32 -05:00
bors
222a1eb7e8
auto merge of #19418 : P1start/rust/unsafe-extern-trait, r=alexcrichton
...
Fixes #19398 .
2014-12-01 01:56:52 +00:00
jfager
a779e3b5c4
fix missed switch pointed out in review plus a few others
2014-11-30 18:11:40 -05:00
Piotr Czarnecki
b82624bf20
std: Change the behavior of reserve
for HashMap.
...
HashMap's `reserve` method now takes as an argument the *extra* space
to reserve.
[breaking-change]
2014-11-30 22:52:11 +01:00
Piotr Czarnecki
72c96badd2
std: Remove implicit shrinking from hash_map.
...
Implements fn shrink_to_fit for HashMap.
2014-11-30 22:52:10 +01:00
bors
acad03a420
auto merge of #19415 : P1start/rust/error-message-fixes, r=alexcrichton
...
This is the style followed by most other error messages.
2014-11-30 19:46:53 +00:00
bors
3ee471cab5
auto merge of #19411 : lifthrasiir/rust/asm-clobbers-expanded, r=alexcrichton
...
I.e. we should not prematurely build operand constraints at the expansion time. Otherwise `--pretty expanded` diverges:
```
$ cat t.rs
#![feature(asm)]
pub fn main() { unsafe { asm!("" : : : "hello", "world") }; }
$ rustc t.rs --pretty
#![feature(asm)]
pub fn main() { unsafe { asm!("" : : : "hello" , "world") }; }
$ rustc t.rs --pretty expanded
#![feature(asm)]
#![feature(phase)]
#![no_std]
#![feature(globs)]
#[phase(plugin, link)]
extern crate "std" as std;
#[prelude_import]
use std::prelude::*;
pub fn main() { unsafe { asm!("": : : "~{hello},~{world}") }; }
```
(The last code *does* compile, but won't do the expected thing.)
2014-11-30 17:21:48 +00:00
Alexander Light
798da23772
allow macro expansions in attributes
2014-11-30 09:51:15 -05:00
Corey Farwell
38e008eccd
Fix typo in tests makefile
2014-11-30 09:07:36 -05:00
bors
52888a7c47
auto merge of #19369 : seanmonstar/rust/cow-str, r=alexcrichton
...
This implementation existed on MaybeOwned, but has been lost in the
transition to Cows. Let's put it back.
@aturon r?
2014-11-30 10:21:49 +00:00
Kang Seonghoon
133266f01c
trans: Eliminated redundant allocations.
2014-11-30 18:52:44 +09:00
P1start
63553a10ad
Fix the ordering of unsafe
and extern
in methods
...
This breaks code that looks like this:
trait Foo {
extern "C" unsafe fn foo();
}
impl Foo for Bar {
extern "C" unsafe fn foo() { ... }
}
Change such code to look like this:
trait Foo {
unsafe extern "C" fn foo();
}
impl Foo for Bar {
unsafe extern "C" fn foo() { ... }
}
Fixes #19398 .
[breaking-change]
2014-11-30 21:33:04 +13:00
Alex Crichton
1d4ce37946
mk: Use host llvm linkage paths, not target ones
...
We only build LLVM for the host architecture, not the target architecture, so
this was just a minor typo in the parameters uses.
Closes #19383
2014-11-30 00:01:19 -08:00
P1start
432adc675e
Adjust some error messages to start with a lowercase letter and not finish with a full stop
2014-11-30 20:26:53 +13:00
bors
dfaad04b7a
auto merge of #19365 : frewsxcv/rust/getopts-cleanup, r=alexcrichton
...
* Remove public reexports, as a part of #19253
* Rename getopts::Fail_ to getopts::Fail
* Didn't see a reason for the suffixed '_'
* Removed getopts::FailType
* Looked like it was only beings used for tests; refactored the tests
to stop requiring it
* A few other non-breaking trivial refactoring changes
[breaking-change]
2014-11-30 06:56:41 +00:00
Kang Seonghoon
989f906af3
syntax: Make asm!
clobbers a proper vector.
...
Otherwise `--pretty expanded` diverges.
2014-11-30 11:58:23 +09:00
bors
8d8f41b75f
auto merge of #19392 : murarth/rust/rustc-compile-twice, r=nick29581
...
Closes #19371
2014-11-29 21:51:34 +00:00
jfager
232ffa039d
Replace some verbose match statements with their if let
equivalent.
...
No semantic changes, no enabling `if let` where it wasn't already enabled.
2014-11-29 16:41:21 -05:00
bors
6163581451
auto merge of #19401 : MatejLach/rust/guide_are_fix, r=steveklabnik
...
Fixes a small omission of `are` in the sentence:
`There also a few things you can do with a tuple as a whole, without...`
r @steveklabnik?
2014-11-29 17:31:32 +00:00
Murarth
004533ea75
Fix rustc panic on second compile_input
2014-11-29 09:50:48 -07:00
Matej Lach
d9a3ea88fc
Fix a simple typo
2014-11-29 13:26:32 +00:00
bors
29e928f2ba
auto merge of #19345 : steveklabnik/rust/gh19344, r=alexcrichton
...
Fixes #19344
2014-11-28 15:11:24 +00:00
Steve Klabnik
4d1cb7820d
reword faq to remove reference to indexing strings
...
Fixes #19344
2014-11-28 10:06:08 -05:00
bors
f33d879a70
auto merge of #19366 : liigo/rust/mipsel-linux, r=alexcrichton
...
Since #19076 was merged, I believe mipsel + linux maybe need add to the list here, too.
2014-11-28 11:31:22 +00:00
bors
fb52e69a50
auto merge of #19363 : michaelwoerister/rust/support-unboxed-closures, r=alexcrichton
...
This PR lets `rustc` generate debuginfo for variables captured by unboxed closures.
Fixes #19356
@nikomatsakis This PR will probably conflict with #19338 . If this gets merged before, you should be able to just leave the test case as it is (maybe remove the `#![feature(unboxed_closures)]` directive).
2014-11-28 09:31:24 +00:00