Commit Graph

84990 Commits

Author SHA1 Message Date
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
Niko Matsakis
71caf8ae93 type_op/mod.rs: rustfmt 2018-10-15 08:57:22 -04:00
Niko Matsakis
bca294da1f rename QueryResult to QueryResponse
`Result` really sounds like the rustc result type
2018-10-15 08:57:22 -04:00
Niko Matsakis
fd046a2ede bundle up "canonical instantiation" with infcx creation 2018-10-15 08:57:22 -04:00
Niko Matsakis
110b3b971e canonicalizer.rs: rustfmt 2018-10-15 08:57:22 -04:00
Felix S. Klock II
481ad0ea35 regression test for issue #54597 2018-10-15 14:07:19 +02:00
bors
2a5de33193 Auto merge of #55084 - matthiaskrgr:clippy, r=oli-obk
submodules: update clippy from 9d337313 to 5afdf8b7

Should fix toolstate.

Changes:

````
fix for rustc master
mem_forget: fix syntax error in code sample
explicit_counter_loop fix #3308 false positive
new_ret_no_self test remove tool lints cfg flag
Added new_ret_no_self exception to clippy to pass dogfood tests
Removed new_ret_no_self tests from method.rs
new_ret_no_self correctly lint impl return
Removed unused variables
new_ret_no_self fix false positive for impl trait return with associated type self
new_ret_no_self corrected panic and added test stderr
new_ret_no_self added positive test cases
Fix some more `stutter` warnings
unused unit lint
Install Windows SDK 10.0 on travis
cmp_owned refactor
cmp_owned correct error message if rhs is deref
Add a comment reminding to update README if the default changes
Specify which categories are enabled by default
Only run markdown linter on linux
Move Travis Windows build to allowed failures
Add Travis windows build
Fix `doc_markdown` lints
Fix `stutter` lints
Fix `similar_names` warnings
cmp_owned current suggestion for multiple deref
cmp_owned add test for multiple dereference
Corrected single-character string constant used as pattern found in dogfood test
Fixes 3289, cmp_owned wording and false positive
````
2018-10-15 10:31:48 +00:00
Do Duy
e03d24e153
Update rustc documentation link 2018-10-15 15:54:29 +07:00
ljedrz
42ae9dc508 rustc/session: move consts up to improve readability 2018-10-15 10:19:16 +02:00