Commit Graph

56641 Commits

Author SHA1 Message Date
James Miller
e0279d7192 Normalize the function signature of closures
Previously we didn't normalize the function signatures used for
closures. This didn't cause a problem in most cases, but caused an ICE
in during MIR type checking.

Fixes #36139
2016-08-31 16:43:14 +12:00
Eugene R Gonzalez
d4ca5613a0 Change E0259 to the new error format
Fixed E0259 unit test

Added name of conflict to E0259's note
2016-08-30 21:28:50 -04:00
Corey Farwell
268b3f5818 Implement Debug for std::path::Iter. 2016-08-30 19:57:20 -04:00
bors
eac41469d7 Auto merge of #35048 - tmiasko:monotonic-wait-timeout, r=alexcrichton
Use monotonic time in condition variables.

Configure condition variables to use monotonic time using
pthread_condattr_setclock on systems where this is possible.
This fixes the issue when thread waiting on condition variable is
woken up too late when system time is moved backwards.
2016-08-30 16:28:32 -07:00
Jorge Aparicio
25145b2ef1 copy_third_party_objects -> copy_musl_third_party_objects 2016-08-30 16:30:57 -05:00
Abhishek Kumar
d3a6ea52d7 Update compiler error E0076 to use new error format
Fixes #35221 part of #35233
2016-08-31 02:05:48 +05:30
Matthew Piziak
ba69bc8b40 replace BitAndAssign example with something more evocative
This is the augmented-assignment version of PR #35809.

r? @GuillaumeGomez

improved documentation a la PR #35993
2016-08-30 15:55:11 -04:00
Mikhail Modin
507fe14637 update E0265 to new format 2016-08-30 22:46:52 +03:00
Matthew Piziak
8ca9fa11f9 add evocative examples for BitOr and BitXor
These are exactly equivalent to PR #35809, with one caveat: I do not believe there is a non-bitwise binary "xor" operator in Rust, so here it's expressed as (a || b) && !(a && b).

r? @GuillaumeGomez

improved documentation a la PR #35993
2016-08-30 15:45:37 -04:00
Andrea Corradi
bdfcd782bc Update E0318 to new format 2016-08-30 21:24:21 +02:00
Ariel Ben-Yehuda
dd72b6b91f fix broken type parameter indexing logic in wfcheck
Fixes #36075
2016-08-30 21:27:03 +03:00
Corey Farwell
f48d3859bc Implement Debug for std::path::Components. 2016-08-30 12:40:44 -04:00
ggomez
37bf449de4 Add new error code tests 2016-08-30 18:20:18 +02:00
ggomez
150599d01d Add E0530 error explanation 2016-08-30 18:20:14 +02:00
Jorge Aparicio
8f8d88290b for mips-musl pass -ldl and co to the linker 2016-08-30 10:25:43 -05:00
Jorge Aparicio
bab60124a5 rustbuild: fix building std for musl targets
closes #36143
2016-08-30 10:22:41 -05:00
Mohit Agarwal
77cd09a88c
Update E0520 to new error format
Fixes #36112.
Part of #35233.

r? @jonathandturner
2016-08-30 20:20:01 +05:30
CensoredUsername
46a719e2cc Remove useless //ignore-arch directives on a compile-fail test, and add another test that checks if the sysv64 abi corresponds to the same rules as the C abi on unix platforms 2016-08-30 16:03:06 +02:00
CensoredUsername
d282a633fa Guard against platforms on which the sysv64 calling convention is not valid in non-codegen tests. Remove false positive in a test that relied on the exact formatting of an error string and rewrite the sysv64 register allocation test at it was triggering undefined behaviour 2016-08-30 16:03:06 +02:00
CensoredUsername
0e30446259 Select the proper x86_64 ABI based first and foremost on the specified calling convention instead of just looking at the selected platform 2016-08-30 16:03:06 +02:00
CensoredUsername
eef4434bf8 Add the sysv64 calling convention to the list of known calling conventions and add the feature(abi_sysv64) to the list of known features 2016-08-30 16:03:06 +02:00
CensoredUsername
0e58a5d139 Feature gate the sysv64 abi as feature(abi_sysv64) and add tests 2016-08-30 16:03:06 +02:00
CensoredUsername
30c4173cb8 Change ABI string from sysV64 to sysv64 2016-08-30 16:01:40 +02:00
CensoredUsername
516519ee9a Allow specification of the system V AMD64 ABI constraint.
This can be specified using `extern sysV64 fn` on all platforms
2016-08-30 16:01:40 +02:00
bors
4473130f4e Auto merge of #36126 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 16 pull requests

- Successful merges: #35418, #35759, #35862, #35863, #35895, #35962, #35977, #35993, #35997, #36054, #36056, #36060, #36086, #36100, #36103, #36125
- Failed merges: #35771, #35810
2016-08-30 06:01:39 -07:00
Cristi Cobzarenco
34e1817576 add test for #14875 2016-08-30 11:04:14 +01:00
Guillaume Gomez
1d2308f2ed Rollup merge of #36125 - gavinb:error_msgs_p1, r=jonathandturner
Update Error format for E0164, E0165, E0184

Part of #35233

r? @jonathandturner
2016-08-30 10:39:08 +02:00
Guillaume Gomez
9a3cfe9129 Rollup merge of #36103 - zjhmale:fix-E0089, r=jonathandturner
Update E0089 to new error format

Fixes #35227.
Part of #35233.

r? @jonathandturner
2016-08-30 10:39:08 +02:00
Guillaume Gomez
eb33044449 Rollup merge of #36100 - 0xmohit:pr/error-code-E0260, r=jonathandturner
Update E0260 to new error format

Updates #35515.
Part of #35233.

r? @jonathandturner
2016-08-30 10:39:08 +02:00
Guillaume Gomez
ab8499785c Rollup merge of #36086 - apasel422:issue-35423, r=alexcrichton
Add test for #35423

Closes #35423
2016-08-30 10:39:07 +02:00
Guillaume Gomez
3ee2c9d0a4 Rollup merge of #36060 - paulfanelli:update-e0463-error-msg, r=jonathandturner
Update E0463 error message to new format

Fixes #35934 as part of #35233

r? @jonathandturner
2016-08-30 10:39:07 +02:00
Guillaume Gomez
751e4db2f4 Rollup merge of #36056 - birryree:E0194_new_error_format, r=jonathandturner
Update E0194 to new error format

Fixes #35280 to update E0194 to support new error message format. Part of #35233.

A separate Github issue #36057 tracks the bonus portion of the original ticket.

r? @jonathandturner
2016-08-30 10:39:07 +02:00
Guillaume Gomez
5185bd05c9 Rollup merge of #36054 - mikhail-m1:master2, r=jonathandturner
update error E0451 to new format

Fixes #35928 as part of #35233.

r? @jonathandturner
2016-08-30 10:39:07 +02:00
Guillaume Gomez
23f769881a Rollup merge of #35997 - matthew-piziak:thread-current-example, r=GuillaumeGomez
add a simple example for `thread::current()`

r? @GuillaumeGomez
2016-08-30 10:39:07 +02:00
Guillaume Gomez
0c33197b90 Rollup merge of #35993 - matthew-piziak:bitwise-and-redux, r=GuillaumeGomez
improve `BitAnd` trait documentation

This pull request is based on the discussion in PR #35927.

Add a module-level note that `&&` and `||` are short-circuiting operators and not overloadable.

Add a simple `Scalar` example that lifts the `&` operator to a trivial struct tuple.

Make `BooleanVector` a struct tuple.

Derive `PartialEq` for `BooleanVector` instead of implementing it.

Adds a `fn main` wrapper so that the example can integrate with Rust Playground.
2016-08-30 10:39:06 +02:00
Guillaume Gomez
67949a3a01 Rollup merge of #35977 - frewsxcv:usize-isize, r=eddyb
Rename {int,uint} methods to {isize,usize}.

None
2016-08-30 10:39:06 +02:00
Guillaume Gomez
8d808a2df6 Rollup merge of #35962 - regexident:compiler-plugin-docs, r=steveklabnik
Updated code sample in chapter on syntax extensions.

The affected API apparently had changed with commit d59accfb06.

---

Further more I had to add

```toml
[lib]
name = "roman_numerals"
crate-type = ["dylib"]
```

to `Cargo.toml` as I otherwise got this compiler error (despite `#![crate_type="dylib"]`):

    [E0457]: plugin `roman_numerals` only found in rlib format, but must be available in dylib format

Might be worth adding a note about that?
2016-08-30 10:39:06 +02:00
Guillaume Gomez
325b7111c2 Rollup merge of #35895 - F001:patch-1, r=steveklabnik
Fix documentation in cell mod

The implementation of Rc type in this doc is outdated.
2016-08-30 10:39:06 +02:00
Guillaume Gomez
b4a6b6bd9e Rollup merge of #35863 - matthew-piziak:shl-example, r=steveklabnik
add evocative examples for `Shl` and `Shr`

r? @steveklabnik
2016-08-30 10:39:06 +02:00
Guillaume Gomez
d33e1916ce Rollup merge of #35862 - Stebalien:fmt-docs, r=steveklabnik
Clarify/fix formatting docs concerning fmt::Result/fmt::Error

1. `fmt::Result` != `io::Result<()>`
2. Formatters should only propagate errors, not return their own.

Confusion on reddit: https://www.reddit.com/r/rust/comments/4yorxr/is_implt_tostring_for_t_where_t_display_sized_a/
2016-08-30 10:39:05 +02:00
Guillaume Gomez
aa3ee1d05e Rollup merge of #35810 - matthew-piziak:fn-trait-example, r=steveklabnik
improve documentation for `Fn*` traits

This PR is not yet a serious attempt at contribution. Rather, I'm opening this for discussion. I can think of a few things we may want to accomplish with the documentation of the `Fn`, `FnMut`, and `FnOnce` traits:
- the relationship between these traits and the closures that implement them
- examples of non-closure implementations
- the relationship between these traits and Rust's ownership semantics
2016-08-30 10:39:05 +02:00
Guillaume Gomez
ff45e6195b Rollup merge of #35771 - matthew-piziak:range-inclusive-example-error, r=steveklabnik
show how iterating over `RangeTo` and `RangeToInclusive` fails

Feedback on PR #35701 seems to be positive, so this does the same thing for `RangeTo` and `RangeToInclusive`.
2016-08-30 10:39:05 +02:00
Guillaume Gomez
f60cb177aa Rollup merge of #35418 - birkenfeld:patch-1, r=aturon
Doc: explain why Box/Rc/Arc methods do not take self

This can be confusing for newcomers, especially due to the argument name `this` that is used for Rc and Arc.
2016-08-30 10:39:05 +02:00
bors
71ee82a8aa Auto merge of #36066 - jseyfried:rollup, r=Manishearth
Batch up libsyntax breaking changes

Batch of the following syntax-[breaking-change] changes:
 - #35591: Add a field `span: Span` to `ast::Generics`.
 - #35618: Remove variant `Mod` of `ast::PathListItemKind` and refactor the remaining variant `ast::PathListKind::Ident` to a struct `ast::PathListKind_`.
 - #35480: Change uses of `Constness` in the AST to `Spanned<Constness>`.
  - c.f. `MethodSig`, `ItemKind`
 - #35728: Refactor `cx.pat_enum()` into `cx.pat_tuple_struct()` and `cx.pat_path()`.
 - #35850: Generalize the elements of lists in attributes from `MetaItem` to a new type `NestedMetaItem` that can represent a `MetaItem` or a literal.
 - #35917: Remove traits `AttrMetaMethods`, `AttributeMethods`, and `AttrNestedMetaItemMethods`.
  - Besides removing imports of these traits, this won't cause fallout.
 - Add a variant `Union` to `ItemKind` to future proof for `union` (c.f. #36016).
 - Remove inherent methods `attrs` and `fold_attrs` of `Annotatable`.
  - Use methods `attrs` and `map_attrs` of `HasAttrs` instead.

r? @Manishearth
2016-08-30 00:36:19 -07:00
Jeffrey Seyfried
02f081c0b5 Future proof libsyntax_ext for union. 2016-08-30 05:53:33 +00:00
athulappadan
fb65fe95eb Update compiler error 0034 to use new format. 2016-08-30 10:29:24 +05:30
Tshepang Lekhonkhobe
c36ccf7912 doc: make TcpListener example more simple 2016-08-30 06:42:56 +02:00
Corey Farwell
10b8e0ed67 rustbook chapters/sections should be an ordered list. 2016-08-29 23:35:50 -04:00
Eduard Burtescu
8341f6451b Fix run-pass/signal-exit-status to not trigger UB by writing to NULL. 2016-08-30 05:34:21 +03:00
bors
addb753762 Auto merge of #36117 - eddyb:llvm-hoist-meta, r=alexcrichton
llvm: backport "[SimplifyCFG] Hoisting invalidates metadata".

Fixes #36023 by backporting @majnemer's LLVM patch fixing [the LLVM bug](https://llvm.org/bugs/show_bug.cgi?id=29163.) where SimplifyCFG hoisted instructions andkept their metadata (conditional `!nonnull` loads could kill a null check later if hoisted).

r? @alexcrichton
2016-08-29 17:01:09 -07:00