Commit Graph

62061 Commits

Author SHA1 Message Date
Ariel Ben-Yehuda 2ecbc22856 fix a few more typeck normalization cases
I'll like @nikomatsakis or someone to look at the unsolved variable
case.
2017-03-01 16:56:13 +02:00
Ariel Ben-Yehuda 34ff9aa83f store the normalized types of statics in MIR Lvalues
The types of statics, like all other items, are stored in the tcx
unnormalized. This is necessarily so, because
    a) Item types other than statics have generics, which can't be
normalized.
    b) Eager normalization causes undesirable on-demand dependencies.

Keeping with the principle that MIR lvalues require no normalization in
order to interpret, this patch stores the normalized type of the statics
in the Lvalue and reads it to get the lvalue type.

Fixes #39367.
2017-03-01 16:56:13 +02:00
Ariel Ben-Yehuda ca8708273b more through normalization in typeck & trans
Fixes #27901.
Fixes #28828.
Fixes #38135.
Fixes #39363.
2017-03-01 16:56:08 +02:00
deso 471e65571b
doc: fix inconsistency in error output in guessing-game.md
The line '.expect("failed to read line");' is partly started with a
lower case 'f' and partly with an uppercase one, adding additional
spurious changes to otherwise clean diffs if each sample is
copy-and-pasted over the previous.
This change starts the string with an uppercase everywhere which is in
line with the style of the other strings.
2017-03-01 05:52:41 -08:00
er-1 05aadd2933 Add a reference to the dl library to the Makefile of the test issue-24445.
It prevents the test to fail on ppc64el at least.

Part of #39015
2017-03-01 12:17:27 +01:00
bors 691eba1358 Auto merge of #34198 - eddyb:you're-a-bad-transmute-and-you-should-feel-bad, r=nikomatsakis
Make transmuting from fn item types to pointer-sized types a hard error.

Closes #19925 by removing the future compatibility lint and the associated workarounds.
This is a `[breaking-change]` if you `transmute` from a function item without casting first.
For more information on how to fix your code, see https://github.com/rust-lang/rust/issues/19925.
2017-03-01 10:03:44 +00:00
Josef Brandl 8f1a0afee1 Unit-like structs doc: Add compile fail tag 2017-03-01 10:03:07 +01:00
Kevin Yap 9d99e12675 Fix link in `if let` docs 2017-03-01 01:01:37 -08:00
Josef Brandl 74b6221209 String docs: Add "the" 2017-03-01 09:56:52 +01:00
bors b671c32ddc Auto merge of #40167 - frewsxcv:rollup, r=frewsxcv
Rollup of 6 pull requests

- Successful merges: #39419, #39936, #39944, #39960, #40028, #40128
- Failed merges:
2017-03-01 07:57:09 +00:00
bors 7ce1fbe1f7 Auto merge of #39419 - jseyfried:simplify_tokentree, r=nrc
Simplify `TokenTree` and fix `macro_rules!` bugs

This PR
 - fixes #39390, fixes #39403, and fixes #39404 (each is a [breaking-change], see issues for examples),
 - fixes #39889,
 - simplifies and optimizes macro invocation parsing,
 - cleans up `ext::tt::transcribe`,
 - removes `tokenstream::TokenTree::Sequence` and `Token::MatchNt`,
   - instead, adds a new type `ext::tt::quoted::TokenTree` for use by `macro_rules!` (`ext::tt`)
 - removes `parser.quote_depth` and `parser.parsing_token_tree`, and
 - removes `quote_matcher!`.
   - Instead, use `quote_tokens!` and `ext::tt::quoted::parse` the result with `expect_matchers=true`.
   - I found no outside uses of `quote_matcher!` when searching Rust code on Github.

r? @nrc
2017-03-01 05:58:09 +00:00
topecongiro 9141b7be70 Add compile fail test for abi_ptx 2017-03-01 13:12:07 +09:00
Corey Farwell 0b5bf67449 Rollup merge of #40128 - cengizIO:master, r=nikomatsakis
Move two large error_reporting fn's to a separate file

Hello!

I tried to make `librustc/infer/error_reporting,rs` more readable by modularizing it and moving its two largest functions to a separate file.

If you have any suggestions, please send it right away! 🚀

Thanks goes to @nikomatsakis for supporting.
2017-02-28 22:55:31 -05:00
Corey Farwell 0a008b949e Rollup merge of #40028 - withoutboats:string_from_iter, r=alexcrichton
impl FromIterator<&char> for String
2017-02-28 22:55:30 -05:00
Corey Farwell 06a0233ab3 Rollup merge of #39960 - lukaramu:issue-39925, r=alexcrichton
added Error and Display impl for std::ffi::FromBytesWithNulError

Fixes #39925.

This is my first PR, so I wasn't quite sure about the stability annotation.
2017-02-28 22:55:29 -05:00
Corey Farwell fda3f98746 Rollup merge of #39944 - GuillaumeGomez:associated-consts, r=frewsxcv
Improve associated constant rendering in rustdoc

Before:

<img width="1440" alt="screen shot 2017-02-19 at 00 30 51" src="https://cloud.githubusercontent.com/assets/3050060/23097697/caeed80e-f63a-11e6-98c2-5d27e4efd76d.png">

After:

<img width="1440" alt="screen shot 2017-02-19 at 00 30 39" src="https://cloud.githubusercontent.com/assets/3050060/23097698/cfb4874e-f63a-11e6-80cf-ffbf5c5c6162.png">

cc @SergioBenitez

r? @rust-lang/docs
2017-02-28 22:55:28 -05:00
Corey Farwell 43df65fb3f Rollup merge of #39936 - djzin:inclusive_rangeargument, r=alexcrichton
impl RangeArgument for RangeInclusive and add appropriate tests

Now that `RangeArgument` returns a `Bound`, the impl for `RangeInclusive` is natural to implement and all that's required are tests around it.
2017-02-28 22:55:27 -05:00
Corey Farwell 4ba49ab39f Rollup merge of #39419 - jseyfried:simplify_tokentree, r=nrc
Simplify `TokenTree` and fix `macro_rules!` bugs

This PR
 - fixes #39390, fixes #39403, and fixes #39404 (each is a [breaking-change], see issues for examples),
 - fixes #39889,
 - simplifies and optimizes macro invocation parsing,
 - cleans up `ext::tt::transcribe`,
 - removes `tokenstream::TokenTree::Sequence` and `Token::MatchNt`,
   - instead, adds a new type `ext::tt::quoted::TokenTree` for use by `macro_rules!` (`ext::tt`)
 - removes `parser.quote_depth` and `parser.parsing_token_tree`, and
 - removes `quote_matcher!`.
   - Instead, use `quote_tokens!` and `ext::tt::quoted::parse` the result with `expect_matchers=true`.
   - I found no outside uses of `quote_matcher!` when searching Rust code on Github.

r? @nrc
2017-02-28 22:55:26 -05:00
Austin Bonander 2fcbb48c72 Implement function-like procedural macros ( `#[proc_macro]`) 2017-02-28 18:34:22 -08:00
bors 2f52386f10 Auto merge of #40164 - steveklabnik:rollup, r=steveklabnik
Rollup of 5 pull requests

- Successful merges: #40130, #40142, #40150, #40151, #40153
- Failed merges:
2017-03-01 00:58:13 +00:00
Aidan Hobson Sayers c58fff2bb7 Allow types passed to [] to coerce, like .index()
Fixes #40085
2017-03-01 00:15:13 +00:00
Steve Klabnik 4fd2aeddd4 Rollup merge of #40153 - steveklabnik:alphabetize-unstable-book, r=frewsxcv
sort unstable book alphabetically

I made these the same order as they were in the compiler, but for no good reason. Much easier to find out what you need when they're sorted alphabetically

r? @frewsxcv
2017-02-28 15:38:43 -08:00
Steve Klabnik 2a14d4bb86 Rollup merge of #40151 - steveklabnik:update-mdbook, r=frewsxcv
update mdbook version

This contains two important bugfixes
2017-02-28 15:38:42 -08:00
Steve Klabnik 40069bb9d1 Rollup merge of #40150 - topecongiro:compile-fail-test-cfg-target-has-atomic, r=alexcrichton
Add compile test for cfg_target_has_atomic

Issue #39059.
I am concerned about whether the test is excessive.
2017-02-28 15:38:41 -08:00
Steve Klabnik 9b55f531ca Rollup merge of #40142 - MajorBreakfast:patch-4, r=steveklabnik
Structs doc: Change "pointers" to "references"

Let's call them "references" instead of "pointers". That's how they're called in chapter 4.9 "References and Borrowing".

r? @steveklabnik
2017-02-28 15:38:40 -08:00
Steve Klabnik aff269b5dc Rollup merge of #40130 - alexcrichton:fix-musl-again, r=nikomatsakis
travis: Fix typos in linux-tested-targets

These flags were supposed to be relevant for musl, not for gnu

cc #39979
2017-02-28 15:38:39 -08:00
Jeffrey Seyfried 839398a0b4 Add regression test. 2017-02-28 22:15:13 +00:00
Jeffrey Seyfried 61a9a14d29 Add warning cycle. 2017-02-28 22:15:12 +00:00
Jeffrey Seyfried 7f822c800d Refactor out `parser.expect_delimited_token_tree()`. 2017-02-28 22:15:11 +00:00
Jeffrey Seyfried 752413005e Merge `repeat_idx` and `repeat_len`. 2017-02-28 22:15:10 +00:00
Jeffrey Seyfried 0cc7053efa Remove `Token::MatchNt`. 2017-02-28 22:15:09 +00:00
Jeffrey Seyfried d8b34e9a74 Add `syntax::ext::tt::quoted::{TokenTree, ..}` and remove `tokenstream::TokenTree::Sequence`. 2017-02-28 22:14:29 +00:00
Jeffrey Seyfried 2471888033 Avoid `Token::{OpenDelim, CloseDelim}`. 2017-02-28 22:13:39 +00:00
Jeffrey Seyfried 8c4960bfde Remove `ext::tt::transcribe::tt_next_token`. 2017-02-28 22:13:38 +00:00
Jeffrey Seyfried abdc68973e Clean up `ext::tt::transcribe::TtFrame`, rename to `Frame`. 2017-02-28 22:13:37 +00:00
Jeffrey Seyfried d09e512158 Remove a `loop` in `ext::tt::transcribe`. 2017-02-28 22:13:34 +00:00
Eduard Burtescu 7650afc1ce Make transmuting from fn item types to pointer-sized types a hard error. 2017-02-28 23:47:55 +02:00
Niko Matsakis f704ef5ff7 simplify check-item-types too 2017-02-28 16:08:01 -05:00
Steve Klabnik 3aa6f189d4 add unstable book to the bookshelf 2017-02-28 14:09:27 -05:00
Steve Klabnik 3a0437d448 sort unstable book alphabetically
I made these the same order as they were in the compiler, but for no good reason. Much easier to find out what you need when they're sorted alphabetically
2017-02-28 14:06:05 -05:00
Theodore DeRego 2123d6a278 std::process for fuchsia: updated to latest liblaunchpad 2017-02-28 10:28:46 -08:00
Eduard-Mihai Burtescu 4c8b39d973 rustbuild: sort rules by the order of matching CLI paths. 2017-02-28 20:13:21 +02:00
Eduard-Mihai Burtescu 146c462e1a rustbuild: use a BTreeMap for the ruleset for determinism. 2017-02-28 20:12:26 +02:00
Niko Matsakis 384f044d82 convert MIR to iterate over the bodies vector 2017-02-28 12:32:54 -05:00
Steve Klabnik d076e840bc update mdbook version
This contains two important bugfixes
2017-02-28 12:32:32 -05:00
topecongiro 3bffc9e150 Add compile test for cfg_target_has_atomic 2017-03-01 01:35:59 +09:00
Simonas Kazlauskas 21c61336bb Remove the TypedConstVal
Replace it with ConstUsize instead, which is more appropriate; we are not using the rest of the
TypedConstVal anyway
2017-02-28 17:12:56 +02:00
Simonas Kazlauskas 3a14e9e745 Make Rvalue::ty infallible 2017-02-28 17:12:55 +02:00
Niko Matsakis a780fa3f67 rewrite typeck bodies to iterate over the bodies vector 2017-02-28 09:44:34 -05:00
Niko Matsakis fab202c0a8 store the visit order in the Crate 2017-02-28 09:11:58 -05:00