Commit graph

11188 commits

Author SHA1 Message Date
Andrew Paseltiner
f5b69b3d9c Remove incorrect test for #22872
The original issue was not fixed, but the test passed due to disabled
debug assertions.
2015-09-16 11:44:41 -04:00
bors
0f1f5fc746 Auto merge of #28417 - apasel422:issue-23036, r=arielb1
Closes #23036.
2015-09-16 04:07:07 +00:00
Nick Cameron
e9f1b06329 Use ast attributes every where (remove HIR attributes).
This could be a [breaking-change] if your lint or syntax extension (is that even possible?) uses HIR attributes or literals.
2015-09-16 10:57:06 +12:00
Andrew Paseltiner
4e25329c5e Add test for #23036
Closes #23036.
2015-09-15 10:14:11 -04:00
bors
7161530fc4 Auto merge of #28406 - petrochenkov:primitive, r=eddyb
This was missing from https://github.com/rust-lang/rust/pull/27451

r? @eddyb
2015-09-15 11:35:11 +00:00
bors
a7b3eed750 Auto merge of #28395 - ebfull:fix-associated-item-resolution, r=arielb1
Fixes #28344
2015-09-15 06:25:38 +00:00
bors
f3e6d31538 Auto merge of #28351 - jonas-schievink:macro-bt, r=nrc
The second commit in this PR will stop printing the macro definition site in backtraces, which cuts their length in half and increases readability (the definition site was only correct for local macros).

The third commit will not print an invocation if the last one printed occurred at the same place (span). This will make backtraces caused by a self-recursive macro much shorter.

(A possible alternative would be to capture the backtrace first, then limit it to a few frames at the start and end of the chain and print `...` inbetween. This would also work with multiple macros calling each other, which is not addressed by this PR - although the backtrace will still be halved)

Example:
```rust
macro_rules! m {
 ( 0 $($t:tt)* ) => ( m!($($t)*); );
 () => ( fn main() {0} );
}

m!(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0);
```

On a semi-recent nightly, this yields:
```
test.rs:3:21: 3:22 error: mismatched types:
 expected `()`,
    found `_`
(expected (),
    found integral variable) [E0308]
test.rs:3  () => ( fn main() {0} );
                              ^
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:2:23: 2:34 note: expansion site
test.rs:1:1: 4:2 note: in expansion of m!
test.rs:6:1: 6:35 note: expansion site
test.rs:3:21: 3:22 help: run `rustc --explain E0308` to see a detailed explanation
error: aborting due to previous error
```

After this patch:
```
test.rs:3:21: 3:22 error: mismatched types:
 expected `()`,
    found `_`
(expected (),
    found integral variable) [E0308]
test.rs:3  () => ( fn main() {0} );
                              ^
test.rs:2:23: 2:34 note: in this expansion of m!
test.rs:6:1: 6:35 note: in this expansion of m!
test.rs:3:21: 3:22 help: run `rustc --explain E0308` to see a detailed explanation
error: aborting due to previous error
```
2015-09-15 03:21:30 +00:00
Vadim Petrochenkov
cfa2925f2e Prohibit renaming to primitive types' names in import lists 2015-09-15 01:07:17 +03:00
bors
bc6c3970a0 Auto merge of #28247 - christopherdumas:fix_28243, r=eddyb
as per #28243.
2015-09-14 20:37:49 +00:00
bors
9da7706dd6 Auto merge of #28248 - PeterReid:master, r=alexcrichton
Overflows in integer pow() computations would be missed if they
preceded a 0 bit of the exponent being processed. This made
calls such as 2i32.pow(1024) not trigger an overflow.

Fixes #28012
2015-09-14 17:10:09 +00:00
christopherdumas
afa905fcf5 Fix tuple float bug. 2015-09-14 07:26:11 -07:00
bors
2d4ae52cbd Auto merge of #28358 - dotdash:nounwind, r=alexcrichton
This allows to skip the codegen for all the unneeded landing pads, reducing code size across the board by about 2-5%, depending on the crate. Compile times seem to be pretty unaffected though :-/
2015-09-14 11:05:34 +00:00
Björn Steinbrink
3ef75d5774 Mark all extern functions as nounwind
Unwinding across an FFI boundary is undefined behaviour, so we can mark
all external function as nounwind. The obvious exception are those
functions that actually perform the unwinding.
2015-09-14 11:36:09 +02:00
bors
4d6dc7f9ba Auto merge of #28396 - arielb1:misplaced-binding, r=eddyb
Technically a [breaking-change], but the broken code is useless,
like `i32<Param=()>`.

Fixes #24682

r? @eddyb
2015-09-14 06:51:18 +00:00
bors
009f2cf7dd Auto merge of #28392 - arielb1:sort-bounds-list, r=eddyb
The sort key is a (DefId, Name), which is *not* stable between
runs, so we must re-sort when loading.

Fixes #24063
Fixes #25467
Fixes #27222
Fixes #28377

r? @eddyb
2015-09-14 05:08:27 +00:00
Sean Bowe
3d0774f598 Added test for partially supplied type params in which remaining reference non-existant self 2015-09-13 21:43:37 -06:00
bors
341a91902a Auto merge of #28383 - semarie:openbsd-jemalloc, r=alexcrichton
ignore severals tests under openbsd as we have disabling jemalloc under
this target.

r? @alexcrichton
2015-09-14 03:25:25 +00:00
Peter Reid
a593a211fe Add test for overflowing pow
This would catch regressions of issue #28012.
2015-09-13 22:19:36 -04:00
bors
483600e65f Auto merge of #28178 - christopherdumas:fix_ice, r=nikomatsakis
This fixes the ICE, and makes it just a compiler error/warning. I'm not exactly sure that's whats wanted, so tell me if it isn't.
2015-09-13 21:27:07 +00:00
Ariel Ben-Yehuda
5d4455510a ensure projections are prohibited when type parameters are
Technically a [breaking-change], but the broken code is useless,
like `i32<Param=()>`.

Fixes #24682
2015-09-13 23:47:41 +03:00
Sean Bowe
522d4b0a35 Fixed regression in associated item resolution with default type parameters that reference Self in traits. 2015-09-13 14:14:04 -06:00
bors
cedbd998a4 Auto merge of #28339 - alexcrichton:stabilize-1.4, r=aturon
The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.

Stabilized APIs:

* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`

Deprecated APIs

* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`

Closes #27277
Closes #27718
Closes #27736
Closes #27764
Closes #27765
Closes #27766
Closes #27767
Closes #27768
Closes #27769
Closes #27771
Closes #27773
Closes #27775
Closes #27776
Closes #27785
Closes #27792
Closes #27795
Closes #27797
2015-09-13 19:45:15 +00:00
Ariel Ben-Yehuda
8478acf695 sort the existential bounds list in tydecode
The sort key is a (DefId, Name), which is *not* stable between
runs, so we must re-sort when loading.

Fixes #24063
Fixes #25467
Fixes #27222
Fixes #28377
2015-09-13 20:59:40 +03:00
Sébastien Marie
18ee9d71d5 disable jemalloc tests for openbsd
ignore severals tests under openbsd as we have disabling jemalloc under
this target.
2015-09-12 17:33:18 +02:00
bors
33f0920d0e Auto merge of #28350 - dotdash:llvm_fix, r=eddyb 2015-09-11 23:03:47 +00:00
christopherdumas
175a6421b2 Fixed test 2015-09-11 11:53:45 -07:00
bors
eda85fede0 Auto merge of #28348 - petrochenkov:novirt, r=alexcrichton
Noticed these yesterday while reading libsyntax
2015-09-11 17:58:59 +00:00
Alex Crichton
f0b1326dc7 std: Stabilize/deprecate features for 1.4
The FCP is coming to a close and 1.4 is coming out soon, so this brings in the
libs team decision for all library features this cycle.

Stabilized APIs:

* `<Box<str>>::into_string`
* `Arc::downgrade`
* `Arc::get_mut`
* `Arc::make_mut`
* `Arc::try_unwrap`
* `Box::from_raw`
* `Box::into_raw`
* `CStr::to_str`
* `CStr::to_string_lossy`
* `CString::from_raw`
* `CString::into_raw`
* `IntoRawFd::into_raw_fd`
* `IntoRawFd`
* `IntoRawHandle::into_raw_handle`
* `IntoRawHandle`
* `IntoRawSocket::into_raw_socket`
* `IntoRawSocket`
* `Rc::downgrade`
* `Rc::get_mut`
* `Rc::make_mut`
* `Rc::try_unwrap`
* `Result::expect`
* `String::into_boxed_slice`
* `TcpSocket::read_timeout`
* `TcpSocket::set_read_timeout`
* `TcpSocket::set_write_timeout`
* `TcpSocket::write_timeout`
* `UdpSocket::read_timeout`
* `UdpSocket::set_read_timeout`
* `UdpSocket::set_write_timeout`
* `UdpSocket::write_timeout`
* `Vec::append`
* `Vec::split_off`
* `VecDeque::append`
* `VecDeque::retain`
* `VecDeque::split_off`
* `rc::Weak::upgrade`
* `rc::Weak`
* `slice::Iter::as_slice`
* `slice::IterMut::into_slice`
* `str::CharIndices::as_str`
* `str::Chars::as_str`
* `str::split_at_mut`
* `str::split_at`
* `sync::Weak::upgrade`
* `sync::Weak`
* `thread::park_timeout`
* `thread::sleep`

Deprecated APIs

* `BTreeMap::with_b`
* `BTreeSet::with_b`
* `Option::as_mut_slice`
* `Option::as_slice`
* `Result::as_mut_slice`
* `Result::as_slice`
* `f32::from_str_radix`
* `f64::from_str_radix`

Closes #27277
Closes #27718
Closes #27736
Closes #27764
Closes #27765
Closes #27766
Closes #27767
Closes #27768
Closes #27769
Closes #27771
Closes #27773
Closes #27775
Closes #27776
Closes #27785
Closes #27792
Closes #27795
Closes #27797
2015-09-11 09:48:48 -07:00
Björn Steinbrink
e8c398d05c Update LLVM to fix nightly build failures 2015-09-11 17:40:37 +02:00
Vadim Petrochenkov
9f1f4c16aa Remove some remains of virtual structs from the parser 2015-09-11 10:09:22 +03:00
christopherdumas
0276068255 Added test 2015-09-10 20:44:03 -07:00
bors
f6d64219a4 Auto merge of #28337 - apasel422:tests, r=alexcrichton
Closes #17994.
2015-09-11 01:18:19 +00:00
bors
5ff55943a3 Auto merge of #28321 - nikomatsakis:issue-27616, r=pnkfelix
Fixes #27616.

r? @pnkfelix
2015-09-10 21:48:29 +00:00
Jonas Schievink
31fa44b18e Don't print the macro definition site in backtraces
This halves the backtrace length. The definition site wasn't very useful
anyways, since it may be invalid (for compiler expansions) or located in
another crate. Since the macro name is still printed, grepping for it is
still an easy way of finding the definition.
2015-09-10 22:25:28 +02:00
Andrew Paseltiner
254325cee0 Add test for #17994
Closes #17994.
2015-09-10 16:05:30 -04:00
Andrew Paseltiner
a33532b1b7 Add tests for #22638, #22872, #23024, #23046
Closes #22638.
Closes #22872.
Closes #23024.
Closes #23046.
2015-09-10 11:31:23 -04:00
Niko Matsakis
01de381b48 Treat loans of 'static data as extending to the end of the enclosing
fn. Fixes #27616.
2015-09-09 16:04:55 -04:00
bors
eaa5bf31b8 Auto merge of #28299 - apasel422:tests, r=alexcrichton
Closes #17001
Closes #21449
Closes #22992
Closes #23208
Closes #23442
2015-09-09 18:40:55 +00:00
bors
7c8ae608dc Auto merge of #28300 - Manishearth:crate_err, r=eddyb
Partially fixes #22750

I'll write a test for this when I figure out how to.

r? @eddyb

cc @steveklabnik
2015-09-09 10:54:05 +00:00
bors
55da0e0000 Auto merge of #28277 - DiamondLovesYou:intrinsic-unnamed-addr, r=huonw
Intrinsics never have an address, so it doesn't make sense to say that their
address is unnamed.
2015-09-09 03:46:32 +00:00
Andrew Paseltiner
04fff50d51 Add tests for #17001, #21449, #22992, #23208, #23442
Closes #17001
Closes #21449
Closes #22992
Closes #23208
Closes #23442
2015-09-08 16:51:21 -04:00
Manish Goregaokar
c65d33819c Print correct crate name 2015-09-09 01:22:03 +05:30
Manish Goregaokar
00e70051dc Add test 2015-09-09 00:34:55 +05:30
bors
a7d63fdbd0 Auto merge of #28291 - nrc:shr_span_fix, r=sfackler 2015-09-08 04:45:37 +00:00
Nick Cameron
5fbdf3ccd0 Fix span bug with >> and type bindings 2015-09-08 16:28:12 +12:00
bors
d2a5b117c1 Auto merge of #28246 - huonw:lang-tracking-issues, r=alexcrichton
This is similar to the libs version, which allow an `issue` field in the
`#[unstable]` attribute.

cc #28244
2015-09-08 01:02:06 +00:00
Huon Wilson
31310f5b65 Allow tracking issues for lang features.
This is similar to the libs version, which allow an `issue` field in the
`#[unstable]` attribute.

cc #28244
2015-09-08 11:01:42 +10:00
Richard Diamond
ba72d9722c Don't add unnamed address attributes to intrinsics.
Intrinsics never have an address, so it doesn't make sense to say that their
address is unnamed.
2015-09-06 19:26:41 -05:00
bors
f6aac80375 Auto merge of #28270 - arielb1:raw-fat-ops, r=nrc
r? @nrc 

Fixes #17736
Fixes #18829
Fixes #23888
Fixes #28236
2015-09-06 23:24:11 +00:00
Ariel Ben-Yehuda
34bc99f860 implement raw fat pointer ops 2015-09-06 16:11:38 +03:00