Niko Matsakis
1008539ca6
fix comment
2018-10-16 17:58:32 -04:00
bors
bef62ccddb
Auto merge of #54486 - orium:obligation-forest-graphviz, r=nikomatsakis
...
Added graphviz visualization for obligation forests.
This can be a big help when debugging the trait resolver.
2018-10-16 20:30:43 +00:00
ljedrz
1dd92c4a70
Remove HybridBitSet::dummy
2018-10-16 22:14:07 +02:00
Esteban Küber
def0f544a3
Change Scalar to numeric cast
2018-10-16 11:04:42 -07:00
bors
8a7048b72b
Auto merge of #54251 - varkor:silence-bad_style, r=Manishearth
...
Make `bad_style` a silent alias for `nonstandard_style`
Now only `nonstandard_style` is suggested in `rustc -W help`, but `bad_style` will not produce a warning. Closes #41646 .
r? @Manishearth
2018-10-16 18:01:41 +00:00
varkor
f40932f106
Fix LLVMRustInlineAsmVerify return type mismatch
2018-10-16 18:22:25 +01:00
bors
99ab2f4071
Auto merge of #54937 - alexcrichton:update-stdsimd, r=nikomatsakis
...
Update stdsimd submodule
Should hopefully bring documentation for wasm intrinsics online!
2018-10-16 15:16:12 +00:00
Felix S. Klock II
5b748434af
updates to expected output for other ui tests.
2018-10-16 17:11:36 +02:00
Felix S. Klock II
b10beb3233
updates to existing ui/borrowck tests.
2018-10-16 17:11:33 +02:00
Felix S. Klock II
4229739038
Add ignore-compare-mode-nll to some run-pass tests that become compile-fail under #54986 .
2018-10-16 17:07:41 +02:00
Felix S. Klock II
3587ff58cc
Don't complain re missing mut
on attempt to partially initialize an uninitialized struct.
...
Under the semantics of #54986 (our short term plan), the partial
initialization itself will signal an error. We don't need to add noise
to the output by also complaining about `mut`. (In particular, the
user may well revise their code in a way that does not require `mut`.)
2018-10-16 16:58:08 +02:00
Felix S. Klock II
57c467824b
Cleanup fn is_mutable
by removing some unnecessary control-flow breaks.
...
(This makes it a little easier to add instrumentation of the entry and
exit by adding `debug!` at the beginning and end, though note that the
function body *does* use the `?` operator...)
2018-10-16 16:58:08 +02:00
Felix S. Klock II
d0416cc093
Add helper method to determine if local had ever been initialized at current point in flow.
2018-10-16 16:58:08 +02:00
Felix S. Klock II
bc61541423
Make us error consistently in issue #21232 , to fix #54986 .
...
Treat attempt to partially intialize local `l` as uses of a `mut` in `let mut l;`, to fix #54499 .
2018-10-16 16:57:34 +02:00
Felix S. Klock II
44a2f681a9
Add Place::base_local
method and improve doc for Place::local
to clarify why we need the former.
2018-10-16 16:57:26 +02:00
ljedrz
24b74b2744
end return statements and void expressions with a semicolon
2018-10-16 11:14:10 +02:00
Oliver Scherer
b1d3111ba2
Use forward compatible FxHashMap
initialization
2018-10-16 10:39:48 +02:00
Havvy (Ryan Scheel)
8c186af538
[Rustc Book] Quotes around value in --cfg example
2018-10-16 00:13:05 -07:00
bors
5ea8eb55cd
Auto merge of #55067 - ljedrz:generic_iterator_related_improvements, r=petrochenkov
...
A few iterator-related improvements
- typeck: don't collect into a vector when unnecessary
- create only one vector when winnowing candidates
- change a cloning map to `into_iter`
2018-10-16 07:04:10 +00:00
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
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