Commit Graph

43074 Commits

Author SHA1 Message Date
bors
8a872943ff Auto merge of #25778 - econoplas:master, r=pnkfelix
A regression was introduced by commit 7b1916d253 #25612.  Negative signed integer literals less than -9223372036854775808i64 were no longer properly reported as #[warn(overflowing_literals)].

Also adding missing test cases to test/compile-fail/lint-type-overflow.rs which could have detected the regression.

Further explanation:

The expression `(negative && v > max as u64 + 1)` relies on the fact that algebraically speaking `-min == max + 1` to avoid negation and removing the need for `min` completely.

If i128 or i256 are ever added, it should also work for these types without requiring a change to `min != i64::MIN &&` also simplifying maintenance.

r? @pnkfelix
2015-05-26 09:49:36 +00:00
Ariel Ben-Yehuda
0ec3183df8 Remove ObjectCastMap 2015-05-26 12:33:53 +03:00
Ariel Ben-Yehuda
f4ee40ead2 Use lookup_locally_or_in_crate_store more often 2015-05-26 12:33:53 +03:00
Barosl Lee
0ae30e608c Associate each path in a use declaration with the item in the AST map
Currently, for `use` declarations with multiple paths, only the `use`
item itself is saved in the AST map, not the individual path nodes. This
can lead to a problem when a span of a specific path node is needed.

For example, #24818 caused an ICE because of this, in
`ImportResolver::check_for_conflicting_import()`.

Fixes #25763.
2015-05-26 17:42:56 +09:00
Ariel Ben-Yehuda
c7711002bb Make caching in stability work. This improves stability check performance
by 90%.
2015-05-26 11:38:56 +03:00
Ariel Ben-Yehuda
014bf0df34 Clean-up some junk 2015-05-26 11:38:56 +03:00
Kubilay Kocak
d323c14f63 Remove redundant compiler check. Allow CC override
Currently, there are two conditional blocks that exist to check for "clang or gcc"

On line 866:

```
if [ -z "$CFG_ENABLE_CLANG" -a -z "$CFG_GCC" ]
then
    err "either clang or gcc is required"
fi
```
and on line 1019:

```
if [ -z "$CC" -a -z "$CFG_ENABLE_CLANG" -a -z "$CFG_GCC" ]
then
    err "either clang or gcc is required"
fi
```

Given the order of the clauses, this results in the "either clang or gcc is required" error from the earlier block, (even) when CC is set. 

The expected behaviour is to honour user-flags, in this case CC.

Aside from removing all hand-holdy compiler checks in favour of actual compiler *feature* checks, this change removes the redundant former block in favour of the latter block, which appears designed to allow the expected behaviour.
2015-05-26 18:23:33 +10:00
Max Jacobson
16334e508e Add a missing space to the Glossary page of TRPL
r? @steveklabnik
2015-05-25 22:40:07 -04:00
bors
7cb9914fce Auto merge of #25767 - mystor:patch-1, r=Gankro
By the same logic that `mem::forget` is safe, `boxed::into_raw` is actually a safe function.

Fixes #25755.
2015-05-25 23:02:52 +00:00
bors
cc156c2f38 Auto merge of #25771 - killercup:trpl/cleanup-markdown-links, r=steveklabnik
In all other places the IDs of link references are without spaces (and explicitly set).

These are just some cleanups I did for the PDF version.

r? @steveklabnik
2015-05-25 21:28:51 +00:00
Ulrik Sverdrup
06304ed522 rustdoc: Show where clauses in type aliases
Yes, it's allowed. Example:

    type MapFn<I, B> where I: Iterator = Map<I, fn(I::Item) -> B>;

Fixes #25769
2015-05-25 23:10:36 +02:00
bors
1d0002887e Auto merge of #25698 - mdinger:flat_map, r=steveklabnik
I'm not sure why `core` is on but it's blocking the playpen. Doesn't seem to be needed but I'm not sure. It's not on the playpen template and playpen works on release and nightly.

Seems easier to understand without `take()`.
2015-05-25 19:52:45 +00:00
Michael Layzell
d416fc1d40 Remove unsafe block around boxed::into_raw() as it is now safe 2015-05-25 14:44:22 -04:00
bors
6770253c67 Auto merge of #25742 - thombles:tk/StringCoercion, r=steveklabnik
A few of us [over on the forum](https://users.rust-lang.org/t/string-type-coercion-in-rust/1439) have been tripped up by this distinction, which I don't think is mentioned. It's kind of logical if you read the "Deref coercions" page and squint a bit but I think it would be nice to explain it directly. Here's one way we could clarify it.
2015-05-25 18:18:11 +00:00
Ulrik Sverdrup
d1cd689b48 rustdoc: Fix associated types in signatures
Functions such as `fn foo<I: Iterator>(x: I::Item)` would not
render correctly and displayed `I` instead of `I::Item`. Same thing
with `I::Item` appearing in where bounds.

This fixes the bug by using paths for generics.

Fixes #24417
2015-05-25 19:06:58 +02:00
bors
45001c0ef8 Auto merge of #25773 - dotdash:deref_dst, r=eddyb
Fat pointers aren't immediate, so in a datum, they're not actually
ByValue but ByRef.

Fixes #24589
2015-05-25 15:54:39 +00:00
Björn Steinbrink
efd3e75503 Fix auto_ref for fat pointers
Fat pointers aren't immediate, so in a datum, they're not actually
ByValue but ByRef.

Fixes #24589
2015-05-25 17:25:41 +02:00
econoplas
43502adf07 - Fix regression of literal out of range check for negative i64 values which was introduced by commit 7b1916d253.
- Add missing test cases to test/compile-fail/lint-type-overflow.rs which would have detected the regression.
2015-05-25 07:42:16 -06:00
Adolfo Ochagavía
87038831f1 Rustdoc: ignore deref-inherited static methods
Fixes #24575
2015-05-25 15:35:10 +02:00
Pascal Hertleif
6bb56b4fa7 TRPL: Clean up some Markdown links
In all other places the IDs of link references are without spaces (and
explicitly set).
2015-05-25 15:10:50 +02:00
bors
38c943f7ef Auto merge of #25770 - dotdash:bool_transmute, r=eddyb
Fixes #25746
2015-05-25 12:20:24 +00:00
Björn Steinbrink
8527c7f43b Fix transmutes with boolean source values
Fixes #25746
2015-05-25 13:08:31 +02:00
Björn Steinbrink
860448f070 Fix interchanged names of to_arg_ty and from_arg_ty 2015-05-25 12:58:19 +02:00
Thomas Karpiniec
2b3354cbf8 book: add no_run and use statement to strings no-coercion example 2015-05-25 18:38:17 +10:00
bors
2bc0bf2586 Auto merge of #25764 - tshepang:typo, r=steveklabnik 2015-05-25 05:19:11 +00:00
bors
e9005fb43e Auto merge of #25761 - ralexstokes:master, r=steveklabnik
Typo in explanation of difference between stack and heap values.  

`baz` is called at the end of a call to `bar` inside another call to `foo`.  `baz` takes a copy of the value `e` which should have a value of 9 if following the rest of the stack trace.

This PR fixes this typo and should close #25635.
2015-05-25 03:40:31 +00:00
bors
0d64659c30 Auto merge of #25736 - tshepang:path-nits, r=steveklabnik 2015-05-25 01:56:48 +00:00
Michael Layzell
04ab4a3471 Mark boxed::into_raw as safe
By the same logic that `mem::forget` is safe, `boxed::into_raw` is actually a safe function. Fixes #25755.
2015-05-24 21:45:29 -04:00
bors
7c4eedc21e Auto merge of #25756 - tshepang:needless-cloned, r=steveklabnik 2015-05-25 00:15:24 +00:00
Tshepang Lekhonkhobe
1bb16fcd5f doc: fix io::Write::write typo 2015-05-25 01:59:04 +02:00
bors
893e416933 Auto merge of #25758 - tshepang:add-cloned-example, r=Gankro 2015-05-24 22:42:00 +00:00
Tshepang Lekhonkhobe
2d5d6fbca4 doc: add example for Iterator::cloned() 2015-05-25 00:22:44 +02:00
Alex Stokes
c7f92018ac Fix typo in diagram demonstrating stack vs. heap values 2015-05-24 15:18:43 -07:00
Tshepang Lekhonkhobe
02b951f66c doc: cloned() and mut not needed 2015-05-24 22:55:34 +02:00
bors
820b1d8393 Auto merge of #25464 - zaeleus:trpl-riol, r=pnkfelix
r? @steveklabnik
2015-05-24 15:52:17 +00:00
Ms2ger
37dd4174d5 Return TaggedDocsIterator from reader::tagged_docs. 2015-05-24 17:30:42 +02:00
Ms2ger
8e039a887d Introduce TaggedDocsIterator and use it to implement reader::tagged_docs. 2015-05-24 17:30:42 +02:00
Richo Healey
d1082aa3a1 etc: work around utf8 text in rust sources on py3 in featureck 2015-05-24 05:42:10 -07:00
Richo Healey
4decc408dc etc: py3 compat for tidy.py 2015-05-24 05:42:10 -07:00
Richo Healey
93a02d3507 etc: py3 compat for featureck
Also rewrite most of the string formatting to be a bit more idiomatic
2015-05-24 05:42:10 -07:00
Richo Healey
9ecc5a95fc etc: py3 compat for errorck.py 2015-05-24 05:22:00 -07:00
Richo Healey
24bae2e300 etc: py3 compat for check-summary.py 2015-05-24 05:12:40 -07:00
Richo Healey
6bcdd9ed2c etc: Delete unused helper script 2015-05-24 05:08:53 -07:00
bors
ba0e1cd814 Auto merge of #25609 - nikomatsakis:const-fn, r=pnkfelix
This is a port of @eddyb's `const-fn` branch. I rebased it, tweaked a few things, and added tests as well as a feature gate. The set of tests is still pretty rudimentary, I'd appreciate suggestions on new tests to write. Also, a double-check that the feature-gate covers all necessary cases.

One question: currently, the feature-gate allows the *use* of const functions from stable code, just not the definition. This seems to fit our usual strategy, and implies that we might (perhaps) allow some constant functions in libstd someday, even before stabilizing const-fn, if we were willing to commit to the existence of const fns but found some details of their impl unsatisfactory.

r? @pnkfelix
2015-05-24 11:12:34 +00:00
bors
cc56c20ba4 Auto merge of #25168 - Manishearth:register_attr, r=eddyb
This lets plugin authors opt attributes out of the `custom_attribute`
and `unused_attribute` checks.


cc @thepowersgang
2015-05-24 09:38:26 +00:00
Simon Sapin
bbf8ba7c23 Implement Eq for Cell and RefCell.
`core::cell::Cell<T>` and `core::cell::RefCell<T>` currently implement
`PartialEq` when `T` does, and just defer to comparing `T` values.
There is no reason the same shouldn’t apply to `Eq`.

This enables `#[derive(Eq, PartialEq)]` on e.g.
structs that have a `RefCell` field.
2015-05-24 10:38:59 +02:00
Thomas Karpiniec
49597fcbf2 book: explanation that String -> &str coercion doesn't happen for &str traits 2015-05-24 13:54:05 +10:00
Richo Healey
1b3465cf9e driver: Only emit the RUST_BACKTRACE message if not present 2015-05-23 19:51:44 -07:00
bors
0fc0476e6a Auto merge of #25719 - brson:crosslink, r=eddyb
The recent MSVC patch made the build system pass explicit linkers to
rustc, but did not set that up for anything other than MSVC.

This is blocking nightlies.
2015-05-24 00:36:56 +00:00
bors
0c2642a571 Auto merge of #25666 - tshepang:better-path-docs, r=steveklabnik 2015-05-23 22:07:58 +00:00