Commit graph

10755 commits

Author SHA1 Message Date
Steve Klabnik
2e78d3705f Rollup merge of #26464 - Gankro:send, r=alexcrichton
Vec contains `Unique<T>` and some usizes, this is already derived.
2015-07-05 15:12:19 -04:00
bors
5d3b0f1f6b Auto merge of #26473 - Eljay:missing_docs, r=alexcrichton
Fixes #24249

I've tagged all items that were missing docs to allow them to compile for now, the ones in core/num should probably be documented at least.

This is also a breaking change for any crates using `#[deny(missing_docs)]` that have undocumented constants, not sure there is any way to avoid this without making it a separate lint?
2015-07-05 20:37:26 +00:00
bors
42e545ffa7 Auto merge of #26694 - eddyb:method-nan, r=arielb1
`MethodCallee` now has no information about the method, other than its `DefId`.
The previous bits of information can be recovered as follows:
```rust
let method_item = tcx.impl_or_trait_item(callee.def_id);
let container = method_item.container();
```
The method is inherent if `container` is a `ty::ImplContainer`:
* the `impl` the method comes from is `container.id()`

The method is a trait method if `container` is a `ty::TraitContainer:
* the `trait` the method is part of is `container.id()`
* a `ty::TraitRef` can be constructed by putting together:
 * `container.id()` as the `trait` ID
 * `callee.substs.clone().method_to_trait()` as the `trait` substs (including `Self`)
* the above `trait_ref` is a valid `T: Trait<A, B, C>` predicate
* selecting `trait_ref` could result in one of the following:
 * `traits::VtableImpl(data)`: static dispatch to `data.impl_def_id`
 * `traits::VtableObject(data)`: dynamic dispatch, with the vtable index:
`traits::get_vtable_index_of_object_method(tcx, data, callee.def_id)`
 * other variants of `traits::Vtable`: various other `impl` sources
2015-07-04 18:49:28 +00:00
Eduard Burtescu
536e71b78f rustc: compute the vtable base of a supertrait during selection. Fixes #26339. 2015-07-04 17:51:30 +03:00
bors
c83f8f9bd9 Auto merge of #26770 - arielb1:str-mut-idx, r=eddyb
r? @eddyb

This doesn't seem to make any code valid because the `IndexMut` impls are missing.
2015-07-04 14:44:45 +00:00
Ariel Ben-Yehuda
90fcf261f2 Remove outdated errors for mutating strings 2015-07-04 16:17:26 +03:00
Ariel Ben-Yehuda
6b27005f2f require reimplementations of all items when a defaulted associated type is overriden
This is a
[breaking-change]
but it follows the RFC (not sure whether it will be accepted).
2015-07-04 14:09:26 +03:00
Niko Matsakis
db5f3bc65c Fix some merge conflicts 2015-07-03 19:42:55 -04:00
Niko Matsakis
65a456df43 Now that I made the warning smarter, these tests no longer require modification 2015-07-03 19:42:35 -04:00
Niko Matsakis
18e9007ac2 Adjust tests to silence warnings (or record them, as appropriate). 2015-07-03 19:42:35 -04:00
Niko Matsakis
1e7a6b880c After inferring regions, scan for any bounds that are due to a lifetime
bound that is likely to change. In that case, it will change to 'static,
so then scan down the graph to see whether there are any hard
constraints that would prevent 'static from being a valid value
here. Report a warning.
2015-07-03 19:42:35 -04:00
bors
f027bdc1c8 Auto merge of #26378 - arielb1:unused-mut, r=pnkfelix
This makes it somewhat more aggressive, so this is kind-of a [breaking-change] for these compiling with `#[deny(unused_mut)]`.

r? @pnkfelix
2015-07-03 21:31:46 +00:00
Björn Steinbrink
eaeede2126 Fix ICE caused by Drop implementations for unsized types
Fixes #26709
2015-07-03 14:44:51 +02:00
bors
fb379ef05c Auto merge of #26682 - posix4e:netbsd, r=alexcrichton
This is dependent on https://github.com/rust-lang/rust-installer/pull/38. Once it is merged we most likely need to update the commit.
2015-07-02 18:50:46 +00:00
bors
c4b4f07592 Auto merge of #26727 - remram44:coerceunsized-weak, r=eddyb
This is a simple addition, shouldn't change behavior.

Fixes #26704

I don't know if the coercion for `Rc` is tested, if it is this probably needs the same test with `Weak`.
2015-07-02 09:19:27 +00:00
Alex Newman
0b7c4f57f6 Add netbsd amd64 support 2015-07-01 19:09:14 -07:00
Remi Rampin
50421827ae Add test to dst-coerce-rc.rs 2015-07-01 17:54:54 -04:00
Nick Hamann
c9c5ea7c13 Add a regression test for #8640.
This doesn't add a test for the main problem in #8640 since it seems that
was already fixed (including a test) in PR #19522. This just adds a test
for a program mentioned in the comments that used to erroneously compile.

Closes #8640.
2015-07-01 12:22:42 -05:00
bors
bf3c979ec3 Auto merge of #26696 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #26373, #26506, #26580, #26622, #26627, #26651, #26678, #26692
- Failed merges:
2015-06-30 23:46:57 +00:00
bors
dc309d79e9 Auto merge of #26686 - arielb1:associated-type-defaults-actually-work, r=eddyb
Fixes #26636.

r? @eddyb
2015-06-30 21:39:46 +00:00
Ariel Ben-Yehuda
a18d9842ed Make the unused_mut lint smarter with respect to locals.
Fixes #26332
2015-07-01 00:12:12 +03:00
bors
fdf219dd42 Auto merge of #26663 - Eljay:fix-repr-attribute, r=sanxiyn
Fixes #26646.

Loops over all `#[repr(..)]` attributes instead of stopping at the first one to make sure they are all marked as used. Previously it stopped after the first `#[repr(C)]` was found causing all other attributes to be skipped by the linter.
2015-06-30 20:07:18 +00:00
Steve Klabnik
cf1c5b22d8 Rollup merge of #26622 - tshepang:indents, r=sanxiyn 2015-06-30 15:37:44 -04:00
Ariel Ben-Yehuda
cebb118bff Actually encode default associated types
Fixes #26636
2015-06-30 22:03:25 +03:00
bors
080d5b74dd Auto merge of #26670 - frewsxcv:regression-test-13902, r=alexcrichton
Closes #13902
2015-06-30 08:04:11 +00:00
bors
e6596d0052 Auto merge of #26668 - frewsxcv:regression-test-17756, r=alexcrichton
Closes #17756
2015-06-30 03:18:45 +00:00
bors
27975c49a6 Auto merge of #26667 - arielb1:audit-walk, r=eddyb
This was originally motivated by checking for HRTB hygiene, but I found several other bugs on the way.

This does not fix the biggest user of ty_walk, which is dtorck - I would prefer to coordinate that with @pnkfelix.

r? @eddyb
2015-06-30 01:45:46 +00:00
Corey Farwell
6419acee34 Add regression test for #13902
Closes #13902
2015-06-29 17:28:21 -07:00
Corey Farwell
d8680f6534 Add regression test for #17756
Closes #17756
2015-06-29 17:10:53 -07:00
Huon Wilson
900af2c6d9 lint: default methods must be called on Self to unconditionally recur.
This catches the case when a trait defines a default method that calls
itself, but on a type that isn't necessarily `Self`, e.g. there's no
reason that `T = Self` in the following, so the call isn't necessarily
recursive (`T` may override the call).

    trait Bar {
        fn method<T: Bar>(&self, x: &T) {
            x.method(x)
        }
    }

Fixes #26333.
2015-06-29 16:00:54 -07:00
Huon Wilson
b1931e48a0 lint: only consider actual calls as unconditional recursion.
Specifically, just mentioning the function name as a value is fine, as
long as it isn't called, e.g. `fn main() { let _ = main; }`.

Closes #21705.
2015-06-29 15:59:37 -07:00
Ariel Ben-Yehuda
336f81215e Remove type_needs_unwind_cleanup
After the last @dinosaur went extinct, the check became redundant with
type_needs_drop, except for its bugginess.

Fixes #26655.
2015-06-30 01:34:17 +03:00
Ariel Ben-Yehuda
bf164bc6e3 Fix lifetime elision region accounting
This merges accumulate_regions_in_type with ty_fold::collect_regions.
Fixes #26638
2015-06-30 01:33:16 +03:00
Eljay
e8fe55f453 Add missing trailing newline. 2015-06-29 21:49:15 +01:00
Eljay
58ff6cc668 Add test for #26646. 2015-06-29 21:27:10 +01:00
Ariel Ben-Yehuda
a1110bc3a3 Fix off-by-one error in default-type-parameter checking
Fixes #18183
2015-06-29 21:27:33 +03:00
Tshepang Lekhonkhobe
7d0198d5d2 test: fix some indents 2015-06-27 15:45:48 +02:00
Alex Crichton
759a7f1f66 test: Use liblibc in lang-item-public
Makes this test case more robust by using standard libraries to ensure the
binary can be built.
2015-06-25 09:33:15 -07:00
bors
b213c947f8 Auto merge of #26558 - nham:fix_24357, r=alexcrichton
Fixes #24357.

Also adds a (totally separate) regression test, which

Closes #18119
2015-06-25 10:39:09 +00:00
Nick Hamann
db9af26d76 Add a regression test for #18119.
Closes #18119
2015-06-24 20:15:23 -05:00
Nick Hamann
0cc26b2058 Use correct type for "use of moved value" error with closures.
Fixes #24357
2015-06-24 20:15:11 -05:00
bors
e5a28bca77 Auto merge of #26547 - nham:test-19538, r=alexcrichton
Closes #19538.
2015-06-25 00:21:33 +00:00
bors
e2c273f1bb Auto merge of #26536 - frewsxcv:regression-test-22375, r=alexcrichton
Closes #22375
2015-06-24 18:11:39 +00:00
Nick Hamann
079bfad72d Add a regression test for #19538.
Closes #19538.
2015-06-24 12:42:05 -05:00
bors
43ad8d0bec Auto merge of #26533 - nham:test-23305, r=alexcrichton
Closes #23305.
2015-06-24 15:05:42 +00:00
bors
52f6318700 Auto merge of #26532 - dhuseby:fixing_bitrig_test_failure, r=alexcrichton
to get the bitrig builder working again.
2015-06-24 13:33:37 +00:00
Corey Farwell
425871bd90 Add regression test for #22375
Closes #22375
2015-06-24 00:56:53 -07:00
Nick Hamann
4982b23c22 Add a regression test for #23305.
Closes #23305.
2015-06-23 21:19:34 -05:00
bors
6fed735b22 Auto merge of #26061 - Gankro:inherit-dep, r=brson
Uncertain if this is the desired effect/strategy/testing.

r? @aturon
2015-06-23 20:30:56 +00:00
Dave Huseby
c6944fa9d7 this fixes a bitrig break in the parallel codegen closures test 2015-06-23 11:08:56 -07:00