Commit Graph

64378 Commits

Author SHA1 Message Date
bors
2e9139197e Auto merge of #41559 - GuillaumeGomez:partial-eq-msg, r=estebank
Add better error message when == operator is badly used

Part of #40660.

With the following code:

```rust
fn foo<T: PartialEq>(a: &T, b: T) {
    a == b;
}

fn main() {
    foo(&1, 1);
}
```

It prints:

```
error[E0277]: the trait bound `&T: std::cmp::PartialEq<T>` is not satisfied
 --> test.rs:2:5
  |
2 |     a == b;
  |     ^^^^^^ can't compare `&T` with `T`
  |
  = help: the trait `std::cmp::PartialEq<T>` is not implemented for `&T`
  = help: consider adding a `where &T: std::cmp::PartialEq<T>` bound

error: aborting due to previous error
```
2017-05-23 00:36:56 +00:00
Colin Wallace
6e8e5c9fd7 Slice::into_vec: Don't link to Vec::into_boxed_slice
The documentation for this method appears on multiple different pages,
which causes the relative links to not always work.
2017-05-22 16:39:31 -07:00
Havvy
5f4b0ffe59 Fix trailing whitespace. 2017-05-22 16:33:55 -07:00
Venkata Giri Reddy
d2ef70f50c regression test for #38821
Closes #38821

r? @Mark-Simulacrum
2017-05-22 17:09:18 -06:00
Havvy
d7927ffb8f Add description of how values are dropped to Drop trait. 2017-05-22 15:59:00 -07:00
Havvy
ca909c836f Add example of variable declaration drop order to Drop trait. 2017-05-22 15:15:04 -07:00
Havvy
14b767d07e Add example of recursive drop to Drop trait. 2017-05-22 15:06:25 -07:00
Guillaume Gomez
819acb5141 Add missing links for CStr and CString 2017-05-22 23:23:27 +02:00
Niko Matsakis
83641a9b6d fix atomic_lock_free test case 2017-05-22 17:11:39 -04:00
Niko Matsakis
04367100cd fix DepNode
Ideally, we'd have the `Ty` inserted directly in the dep-node, but since
we can't do that yet, we extract the characteristic def-id of the type
in question.
2017-05-22 17:11:39 -04:00
Niko Matsakis
9317d372c4 two more style nits 2017-05-22 15:55:56 -04:00
Niko Matsakis
45dd0632bc rename parameter_environment to param_env 2017-05-22 15:55:56 -04:00
Niko Matsakis
697146bf40 use ParamEnv from ty rather than importing 2017-05-22 15:54:16 -04:00
Niko Matsakis
226358e2fb rename ParameterEnvironment to ParamEnv 2017-05-22 15:54:16 -04:00
Niko Matsakis
ca65a8a808 kill NEEDS_DROP_CACHED 2017-05-22 15:37:10 -04:00
Niko Matsakis
25ea618e41 kill FREEZENESS_CACHED 2017-05-22 15:37:10 -04:00
Niko Matsakis
aa5232bca7 kill SIZEDNESS_CACHED 2017-05-22 15:37:10 -04:00
Niko Matsakis
4464dcc7ce remove the cell from type flags completely 2017-05-22 15:37:10 -04:00
Niko Matsakis
b46c1a95d0 move needs_drop into a query 2017-05-22 15:37:10 -04:00
Niko Matsakis
5a5c265e24 refactor common logic into ParameterEnvironment::and() 2017-05-22 15:37:10 -04:00
Niko Matsakis
194d4bc15d make parameter-environment a query 2017-05-22 15:37:10 -04:00
Niko Matsakis
1b7acb6f34 centralize the caching for is-copy, is-sized, and is-freeze
Use the trait-environment+type as the key. Note that these
are only invoked on types that live for the entire compilation
(no inference artifacts). We no longer need the various special-case
bits and caches that were in place before.
2017-05-22 14:55:03 -04:00
Niko Matsakis
8a4e5933df add arielb1 example 2017-05-22 14:40:47 -04:00
Colin Wallace
78bdda1573 Mention Vec::into_boxed_slice in docs for [T]::into_vec.
`Vec::into_boxed_slice` and `[T]::into_vec` are inverses, so it makes sense
to mention the other in their respective documentation for visibility.
`Vec::into_boxed_slice` already mentions `[T]::into_vec`, but not the other
way around until now.
2017-05-22 05:23:47 -07:00
Dmitry Vyukov
0b85b64d6b libstd/sync/mpsc: relicense under rust license
These files are licensed under a different license
than the rest of the codebase. This causes potential
issues and inconveniences.
Relicense these files under the standard license.
I hold original copyright on that code.

Fixes #36556
2017-05-22 09:27:39 +02:00
bors
81734e0e06 Auto merge of #42147 - withoutboats:run-pass-test-for-static-in-assoc-const-ty-refs, r=eddyb
Remove 'static bound in assoc const test.

Types do not have to be `'static` to be referenced in
associated consts.

Fixes #33573.
2017-05-22 06:22:52 +00:00
Without Boats
bf529fb6e6 Remove 'static bound in assoc const test.
Types do not have to be `'static` to be referenced in
associated consts.
2017-05-21 23:10:01 -07:00
Oliver Middleton
0cb6a1fad3 rustdoc: Fix names of items in cross crate reexported modules
For renamed reexports the new name should be used.
2017-05-22 02:05:16 +01:00
bors
41976e25f1 Auto merge of #42140 - anderspapitto:doc-typo-fixes, r=Mark-Simulacrum
bootstrap: fix minor comment typos in lib.rs

I noticed these while reading through the build system
documentation. They're hardly worth fixing, but I'm also using this to
get my feet wet with the rustc contribution system.
2017-05-22 00:51:17 +00:00
Cengiz Can
9111d07a6e make ui test output patch compatible #41948 2017-05-22 01:34:36 +03:00
bors
f6cc40f168 Auto merge of #41904 - sfackler:1.18-stabilization, r=alexcrichton
Stabilize library features for 1.18.0

Closes #38863
Closes #38980
Closes #38903
Closes #36648

r? @alexcrichton

@rust-lang/libs
2017-05-21 22:06:08 +00:00
Ian Douglas Scott
f4147e587d
Implement requires_synchronized_create() for Redox
This was breaking the libstd build for Redox.
2017-05-21 13:23:42 -07:00
Ian Douglas Scott
66237afce4
Fix building without backtrace feature, which was broken in ca8b754
Fixes #42139
2017-05-21 12:38:07 -07:00
Anders Papitto
558dd9ce90 bootstrap: fix minor comment typos in lib.rs
I noticed these while reading through the build system
documentation. They're hardly worth fixing, but I'm also using this to
get my feet wet with the rustc contribution system.
2017-05-22 01:58:50 +07:00
Scott McMurray
7eaca60f3b Return a correct size_hint for degenerate inclusive ranges
Fixes https://github.com/rust-lang/rust/issues/42135

Found while fixing run-pass/range_inclusive test failure.
2017-05-21 05:03:49 -07:00
Scott McMurray
f166bd9857 Make RangeInclusive just a two-field struct
Not being an enum improves ergonomics, especially since NonEmpty could be Empty.  It can still be iterable without an extra "done" bit by making the range have !(start <= end), which is even possible without changing the Step trait.

Implements RFC 1980
2017-05-21 01:48:03 -07:00
bors
14f30da613 Auto merge of #42131 - neosilky:doc-fix, r=frewsxcv
Update to trait bounds CSS in rustdoc

Fixed re-submission of #40719.
2017-05-21 08:28:05 +00:00
bors
e15c159f71 Auto merge of #42132 - cuviper:manifest-paths, r=alexcrichton
Update rust-installer to normalize manifest paths

This fixes the backslash-paths found in the manifests of installers that are built on Windows.  This is the most problematic part of #42121, leaving just the non-executable install.sh.

r? @alexcrichton
2017-05-21 06:00:22 +00:00
Steven Fackler
7c2cd93b2b Stabilize library features for 1.18.0
Closes #38863
Closes #38980
Closes #38903
Closes #36648
2017-05-20 21:58:47 -07:00
Josh Stone
84a155f502 Update rust-installer to normalize manifest paths 2017-05-20 21:55:18 -07:00
Daniel Lockyer
b4c061660f Update to trait bounds CSS in rustdoc
Fixed resubmission of #40719.
2017-05-21 04:35:26 +01:00
bors
7ac844ffb8 Auto merge of #42130 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 6 pull requests

- Successful merges: #41892, #42062, #42091, #42093, #42098, #42127
- Failed merges:
2017-05-21 01:53:20 +00:00
Mark Simulacrum
382c0eb810 Rollup merge of #42127 - clarcharr:lifetimes, r=Mark-Simulacrum
Remove unused lifetimes.

This was a typo that made it onto master. Noted by @dtolnay in #42127.

Also note #41960 which suggests warning these.
2017-05-20 17:48:16 -06:00
Mark Simulacrum
950e4266e6 Rollup merge of #42098 - japaric:gh42097, r=Mark-Simulacrum
core: fix unused_macro warning

when compiling the crate for a target with max-atomic-width = 0

fixes #42097
2017-05-20 17:48:15 -06:00
Mark Simulacrum
2dc1559360 Rollup merge of #42093 - llogiq:clippy-librustc_errors, r=arielb1
fix some clippy warnings in librustc_errors

Again, those are small changes to improve readability.
2017-05-20 17:48:14 -06:00
Mark Simulacrum
9ce4616960 Rollup merge of #42091 - maccoda:maccoda/env_docs, r=frewsxcv
Improving std::env docs

Addresses #29351.
Hopefully this addresses the following points:
> -  iterators should use the standard iterator boilerplate like https://doc.rust-lang.org/std/iter/struct.Map.html, this applies to all structs except for JoinPathsError
> -  JoinPathsError should properly link the function it comes from and use language similar to https://doc.rust-lang.org/std/io/struct.Error.html
> -  same wording issues with VarError
> - functions need to ensure linkage to things they refer to in their descriptions
> - Explain the difference between `os` and non-`os` structs and methods
2017-05-20 17:48:13 -06:00
Mark Simulacrum
2945642901 Rollup merge of #42062 - fhartwig:fix-off-by-one-span, r=nikomatsakis
Fix off-by-one error in column number in `explain_span`.

Fixes #41938
2017-05-20 17:48:12 -06:00
Mark Simulacrum
c37d66aa0a Rollup merge of #41892 - Gankro:needs_drop, r=alexcrichton
expose needs_drop under mem

Note that I purposefully didn't update the intrinsic's documentation, because I think it makes sense for it be more... "honest" about its semantics.
2017-05-20 17:48:11 -06:00
Alexis Beingessner
1f01b09ddc Add stub entry to unstable book for needs_drop 2017-05-20 19:27:31 -04:00
Alexis Beingessner
e847d46bcb migrate everything to using mem::needs_drop 2017-05-20 19:27:30 -04:00