Commit Graph

56375 Commits

Author SHA1 Message Date
Jonathan Turner
c4602288d2 Rollup merge of #36079 - acrrd:new_format_E0318, r=GuillaumeGomez
Update E0318 to new format

Fixes #35322.
Part of #35233.

r? @GuillaumeGomez
2016-08-31 06:29:09 -07:00
Jonathan Turner
051685b2bc Rollup merge of #36050 - abhiQmar:e0076-formatting, r=jonathandturner
Update compiler error E0076 to use new error format

Fixes #35221 part of #35233

r? @jonathandturner
2016-08-31 06:29:09 -07:00
Jonathan Turner
2bfb20f392 Rollup merge of #35926 - matthew-piziak:bit-or-xor-examples, r=GuillaumeGomez
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)`.

Alternative decompositions are `(a && !b) || (!a && b)` and `(a || b) && (!a || !b)`.  Let me know if you think one of those would be clearer.

r? @GuillaumeGomez
2016-08-31 06:29:08 -07:00
Jonathan Turner
45ca620383 Rollup merge of #35758 - matthew-piziak:vec-assert-over-println-remaining, r=GuillaumeGomez
accumulate vector and assert for RangeFrom and RangeInclusive examples

PR #35695 for `Range` was merged, so it seems that this side-effect-free style is preferred for Range* examples. This PR performs the same translation for `RangeFrom` and `RangeInclusive`. It also removes what looks to be an erroneously commented line for `#![feature(step_by)]`, and an unnecessary primitive-type annotation in `0u8..`.
2016-08-31 06:29:08 -07:00
bors
603d9ccfbe Auto merge of #34623 - lfairy:repr-conflict, r=Aatch
Warn about multiple conflicting #[repr] hints

Closes #34622
2016-08-31 00:40:42 -07:00
Chris Wong
42b75a5c18 Warn about multiple conflicting #[repr] hints
Closes #34622
2016-08-31 18:54:19 +12: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
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
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
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
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
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
Gavin Baker
2967dcc4d7 E0184 Update error format #35275
- Fixes #35275
- Part of #35233

r? @jonathandturner
2016-08-30 09:51:03 +10:00
Gavin Baker
28c5edb9f6 E0165 Update error format #35270
- Fixes #35270
- Part of #35233

r? @jonathandturner
2016-08-30 09:50:55 +10:00
Gavin Baker
6355528ffd E0164 Update error format #35269
- Fixes #35269
- Part of #35233

r? @jonathandturner
2016-08-30 09:50:46 +10:00
Eduard Burtescu
61a639ec4e llvm: backport "[SimplifyCFG] Hoisting invalidates metadata". 2016-08-29 22:53:18 +03:00
bors
77d2cd28fd Auto merge of #36080 - japaric:systemz, r=alexcrichton
build llvm with systemz backend enabled, and link to related libraries

when building rust against system llvm

closes #36077

r? @alexcrichton
2016-08-29 12:48:21 -07:00
zjhmale
01083baec2 Update E0089 to new error format 2016-08-30 01:36:58 +08:00
Paul Fanelli
58ced1635b Update E0463 error message to new format 2016-08-29 15:44:05 +00:00
Mohit Agarwal
d6fc2baa11
Update E0260 to new error format
Updates #35515.
Part of #35233.

r? @jonathandturner
2016-08-29 16:20:08 +05:30
Tomasz Miąsko
59e5e0b2db Avoid using pthread_condattr_setclock on Android.
The pthread_condattr_setclock is available only since
Android 5.0 and API level 21.
2016-08-29 10:53:12 +02:00
Mikhail Modin
46fc80c44e update error E0451 to new format 2016-08-29 09:55:16 +03:00
Jeffrey Seyfried
cdde06ea97 Fix merge conflicts. 2016-08-29 05:20:42 +00:00
Jeffrey Seyfried
663caa9ddf Remove inherent methods Annotatable::attrs and Annotatable::fold_attrs. 2016-08-29 05:20:42 +00:00
Jeffrey Seyfried
4fe94e0be6 Future proof the AST for union. 2016-08-29 05:20:40 +00:00
bors
86dde9bbda Auto merge of #36062 - japaric:smarter-submodules, r=alexcrichton
rustbuild: smarter `git submodule`-ing

With this commit, if one bootstraps rust against system llvm then the
src/llvm submodule is not updated/checked-out. This saves considerable
network bandwith when starting from a fresh clone of rust-lang/rust as
the llvm submodule is never cloned.

cc #30107

r? @alexcrichton
cc @petevine

~~We could also avoid updating the jemalloc submodule if --disable-jemalloc is used. It just hasn't been implemented.~~ Done

This probably doesn't handle "recursive" submodules correctly but I think we don't have any of those right now.

I'm still testing a bootstrap but already confirmed that the llvm submodule doesn't get updated when `--llvm-root` is passed to `configure`.
2016-08-28 21:57:51 -07:00
Jorge Aparicio
4b5007a1a2 fix tidy error 2016-08-28 22:13:35 -05:00
Andrew Paseltiner
9c256ec94b
Add test for #35423
Closes #35423
2016-08-28 19:16:13 -04:00
bors
acd3f796d2 Auto merge of #36059 - CryZe:improved-demangling, r=alexcrichton
Improve Demangling of Rust Symbols

This turns `..` into `::`, handles some more escapes and gets rid of unwanted underscores at the beginning of path elements.

![Image of Diff](http://puu.sh/qQIN3.png)
2016-08-28 16:13:16 -07:00
bors
312734ca42 Auto merge of #36029 - KiChjang:issue-12033, r=arielb1
Fix lifetime rules for 'if' conditions

Fixes #12033.

Changes the temporary scope rules to make the condition of an if-then-else a terminating scope. This is a [breaking-change].
2016-08-28 13:16:47 -07:00
Jorge Aparicio
15d8dfb6a0 build llvm with systemz backend enabled, and link to related libraries
when building rust against system llvm

closes #36077
2016-08-28 13:18:28 -05:00