David Wood
d8db5299fa
Don't buffer lints.
...
When lints are emitted from the AST borrow checker, they do not signal
an error as it is not known at that time whether, due to attributes,
that lint will error or warn. This means that when lints are buffered
in the MIR they will always be downgraded, as the AST borrowck will not
have been marked as having errored, even if a lint was upgraded to
an error after being emitted from the AST borrowck. The simple solution
to this is to not buffer any lints from the MIR borrowck.
2018-10-17 00:47:28 +02:00
Niko Matsakis
b70b4a6814
add ~ERROR annotations
2018-10-16 18:11:55 -04:00
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