Commit Graph

84998 Commits

Author SHA1 Message Date
Havvy (Ryan Scheel)
8e10ea6829 [Rustc Book] Explain --cfg's arguments 2018-10-15 21:38:32 -07:00
Roy Wellington Ⅳ
8362aa2178 Extract localStorage tests out into a helper method; use in getCurrentValue()
1. Extract the tests for whether or not we have workable localStorage out into
   a helper method, so it can be more easily reused
2. Use it in getCurrentValue() too, for the same reasons, as suggested in code
   review
2018-10-15 20:39:16 -07:00
bors
df0d6ad9c1 Auto merge of #55023 - euclio:llvm-error-handler, r=cuviper
Exit with code 101 on fatal codegen errors

Fixes #54992.

This PR installs a custom fatal error handler that prints the error from LLVM and exits with 101. There should be no visible change in the output from LLVM. This allows distinguishing a fatal LLVM error with a compilation error by exit code.

This PR also modifies the LLVM codegen backend to ICE instead of emitting a fatal error when encountering a LLVM worker thread panic for the same reason.

r? @cuviper
2018-10-16 02:06:26 +00:00
Esteban Küber
70dd9ca5da Add test for #34229 2018-10-15 15:47:55 -07:00
Niko Matsakis
7ce2e7a5fa fix mir-opt test 2018-10-15 16:25:08 -04:00
Niko Matsakis
087d12972e pacify the mercilous tidy
(long lines)
2018-10-15 16:25:08 -04:00
Niko Matsakis
2e4e983356 update tests 2018-10-15 16:25:08 -04:00
Niko Matsakis
ba20806e46 avoid type variables in the self-type 2018-10-15 16:25:08 -04:00
Niko Matsakis
16a382407b pass along user_self_ty 2018-10-15 16:25:08 -04:00
Niko Matsakis
547182ea94 handle user-self-type for def-ids 2018-10-15 16:25:08 -04:00
Niko Matsakis
0e1d3624e9 pull the common code across user-ty variants up top 2018-10-15 16:25:08 -04:00
Niko Matsakis
1443ac0aa7 introduce a more expressive UserSubsts 2018-10-15 16:25:08 -04:00
Niko Matsakis
2a7fc227a6 introduce FnDef and AdtDef to UserTypeAnnotation 2018-10-15 16:24:46 -04:00
Niko Matsakis
aed6e4a083 introduce a UserTypeAnnotation enum 2018-10-15 16:24:46 -04:00
Niko Matsakis
e339e84fff move force_instantiate_unchecked to be local to nll_relate code 2018-10-15 16:24:46 -04:00
Niko Matsakis
e7ed997d87 extract type_relate into the inference context as nll_relate
The name is not great. Nor is the existence of this code great.  It
should be merged with the main "type relating code" at some point.
2018-10-15 16:24:46 -04:00
Niko Matsakis
b6a080e9d7 rework relate_type_and_user_type to use type inference variables
We used to use a kind of "home-grown" variant where we tracked the
value of each canonical variable.
2018-10-15 16:24:46 -04:00
Niko Matsakis
a3409a1640 make instantiate_canonical_with_fresh_inference_vars public again
This used to be public, then I made it private in a previous PR, but
there really wasn't a strong need for that.
2018-10-15 16:24:31 -04:00
Niko Matsakis
ca52427d06 make TypeRelating take an infcx again
At some point, I had thought to use this code to handle equality
comparisons for the `IfEq` verify bounds; at that point, we might not
have had an infcx to talk about. But we wound up doing "SCC
representatives" instead, so that's fine.
2018-10-15 16:05:31 -04:00
Niko Matsakis
24bee005b6 add force_instantiate_unchecked method 2018-10-15 16:05:31 -04:00
Niko Matsakis
4b69edc19e rename to user_substs_applied_to_def for consistency 2018-10-15 16:05:31 -04:00
bors
46880f41b7 Auto merge of #55095 - Manishearth:rollup, r=Manishearth
Rollup of 11 pull requests

Successful merges:

 - #54820 (Closes #54538: `unused_patterns` lint)
 - #54963 (Cleanup rustc/session)
 - #54991 (add test for #23189)
 - #55025 (Add missing lifetime fragment specifier to error message.)
 - #55047 (doc: make core::fmt::Error example more simple)
 - #55048 (Don't collect to vectors where unnecessary)
 - #55060 (clarify pointer add/sub function safety concerns)
 - #55062 (Make EvalContext::step public again)
 - #55066 (Fix incorrect link in println! documentation)
 - #55081 (Deduplicate tests)
 - #55088 (Update rustc documentation link)

Failed merges:

r? @ghost
2018-10-15 19:50:50 +00:00
Oliver Scherer
c95ee9e91d Add comments to remind everyone to keep the get_vtable impls in sync 2018-10-15 21:00:17 +02:00
Oliver Scherer
ef3ece7444 Uplift some comments to doc comments 2018-10-15 20:59:15 +02:00
Oliver Scherer
8ac7fa414b Synchronize get_vtable with the codegen_llvm one 2018-10-15 20:59:15 +02:00
Oliver Scherer
80feed380d Deduplicate vtables within a single evaluation 2018-10-15 20:54:23 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
007390c21c
Add trailing newline to satisfy tidy 2018-10-15 20:30:11 +02:00
Oliver Scherer
2456f330d5 Try to trigger some error cases 2018-10-15 20:10:16 +02:00
Oliver Scherer
34052047cf Explain all casts in detail 2018-10-15 19:58:21 +02:00
Manish Goregaokar
562625dda2
Rollup merge of #55088 - juchiast:master, r=varkor
Update rustc documentation link

Old link: http://manishearth.github.io/rust-internals-docs/rustc/
New link: https://doc.rust-lang.org/nightly/nightly-rustc/rustc/
2018-10-15 10:15:23 -07:00
Manish Goregaokar
4d837bef05
Rollup merge of #55081 - sinkuu:dedup_test, r=Manishearth
Deduplicate tests

* [`ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-4`](0c665e20db/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-4.rs)
and [`ex3-both-anon-regions-both-are-structs-3`](0c665e20db/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-3.rs)
* [`ui/lint/lint-group-style`](0c665e20db/src/test/ui/lint/lint-group-style.rs) and [`lint-group-nonstandard-style`](0c665e20db/src/test/ui/lint/lint-group-nonstandard-style.rs)
2018-10-15 10:15:22 -07:00
Manish Goregaokar
6993a051e7
Rollup merge of #55066 - iaz3:patch-1, r=sfackler
Fix incorrect link in println! documentation

The eprintln! link was incorrectly linking to eprint! instead
2018-10-15 10:15:21 -07:00
Manish Goregaokar
96ab4a89ee
Rollup merge of #55062 - bjorn3:ecx-step-public, r=oli-obk
Make EvalContext::step public again

This is needed for priroda

Fixes #55061
2018-10-15 10:15:20 -07:00
Manish Goregaokar
8e42f01f43
Rollup merge of #55060 - jannic:patch-1, r=joshtriplett
clarify pointer add/sub function safety concerns

Ralf Jung made the same changes to the offset functions' documentation
in commit fb089156. As add/sub just call offset, the same limitation
applies here, as well.

I did not copy the whole explanation ("In particular, the resulting pointer may *not* be used to access a different allocated object [...]") because I'd consider that as being too repetitive. The documentation of add/sub already refers to the offset function, so people interested in the details can look it up, there.
But changing 'an object' to 'the same object' is a small change which improves clarity a lot.
2018-10-15 10:15:19 -07:00
Manish Goregaokar
2e8b61dce6
Rollup merge of #55048 - ljedrz:begone_vecc, r=estebank
Don't collect to vectors where unnecessary

This removes 3 vector allocations and a call to `cloned()`.
2018-10-15 10:15:17 -07:00
Manish Goregaokar
dc87247538
Rollup merge of #55047 - tshepang:simple, r=alexcrichton
doc: make core::fmt::Error example more simple
2018-10-15 10:15:16 -07:00
Manish Goregaokar
78765e5244
Rollup merge of #55025 - ehuss:missing-lifetime-err-msg, r=petrochenkov
Add missing lifetime fragment specifier to error message.

A very minor issue, `lifetime` was missing from the error list.
I left `literal` in the list, even though it is unstable. It looks like it may stabilize soon anyways.
2018-10-15 10:15:15 -07:00
Manish Goregaokar
defcb164b1
Rollup merge of #54991 - euclio:issue-23189, r=tmandry
add test for #23189

Fixes #23189
2018-10-15 10:15:13 -07:00
Manish Goregaokar
3ffb16f6c6
Rollup merge of #54963 - ljedrz:cleanup_rustc_session, r=varkor
Cleanup rustc/session

- improve allocations
- improve common patterns
- use `to_owned` when no string conversion is needed
- move `const`s up to improve readability
- whitespace & formatting improvements
2018-10-15 10:15:12 -07:00
Manish Goregaokar
7ba24e8fcf
Rollup merge of #54820 - kleimkuhler:issue-54538-unused_patterns-lint, r=nikomatsakis
Closes #54538: `unused_patterns` lint

Closes #54538

r? @nikomatsakis
2018-10-15 10:15:11 -07:00
bors
5a52983d69 Auto merge of #54858 - nikomatsakis:universes-refactor-2, r=scalexm
second round of refactorings for universes

A second round of (what I believe to be) "no functional change" refactorings, taken from my universes branch.

r? @scalexm
2018-10-15 16:46:55 +00:00
Niko Matsakis
05f67ca1a2 remove the sub/super terminology for universes
Instead, we talk about:

- creating the "next" universe
- universes "extending" one another
- and `u1.can_name(u2)`, meaning that `u1` contains all names from `u2`
2018-10-15 11:42:07 -04:00
Niko Matsakis
f419077811 pacify the mercilous tidy with rustfmt 2018-10-15 11:42:07 -04:00
Niko Matsakis
be02f74ea9 remove dead iterator code 2018-10-15 11:42:07 -04:00
Niko Matsakis
6ace43cf77 hide SmallCanonicalVarValues in OriginalQueryValues struct 2018-10-15 11:42:07 -04:00
Niko Matsakis
da76b4d4e1 convert UniverseIndex into a newtype_index! 2018-10-15 11:42:07 -04:00
Niko Matsakis
460915be73 make UniverseIndex hashable, rename "sub-" to "superuniverse"
The only name was silly. U1 can contain everything from U0 *plus* more
things.
2018-10-15 11:42:07 -04:00
Niko Matsakis
28df2bf7b5 control canonicalization with a trait vs bools 2018-10-15 11:42:07 -04:00
bors
4f9b581f71 Auto merge of #54917 - varkor:unused-which, r=cramertj
Unused result warning: "X which must" ↦ "X that must"

Address a little grammatical faux pas in the unused result warning.
2018-10-15 14:16:45 +00:00
Niko Matsakis
42a661843c introduce canonical_var_for_region helper fn 2018-10-15 08:57:22 -04:00