Masaki Hara
2075316064
Include InstanceDef's discriminant in the symbol hash.
2018-10-24 21:59:07 +09:00
Masaki Hara
609cc26d31
Ensure virtual call receiver PassMode.
2018-10-24 21:59:07 +09:00
Masaki Hara
7c965e3e65
Prefer Move over Copy when dereferencing rvalue objects.
2018-10-24 21:59:07 +09:00
Masaki Hara
7ccf661524
Reflect by-value object safety in the unstable book.
2018-10-24 21:59:07 +09:00
Masaki Hara
4ce35fdd34
Add tests for unsized-locals.
2018-10-24 21:59:07 +09:00
Masaki Hara
5eceab02ec
Implement by-value trait object method call.
2018-10-24 21:59:07 +09:00
Masaki Hara
f2ef005d1d
Resolve to Instance::VtableShim when necessary.
2018-10-24 21:59:07 +09:00
Masaki Hara
250979c0ae
Implement vtable shim generation.
2018-10-24 21:59:07 +09:00
Masaki Hara
1fb085511e
Make declare_fn aware of vtable shims.
2018-10-24 21:59:06 +09:00
Masaki Hara
fe3f606cda
Add ty_fn_sig_vtable for getting adjusted signature for vtable shims.
2018-10-24 21:59:06 +09:00
Masaki Hara
824315a722
Distinguish vtable shims in symbol paths.
2018-10-24 21:59:06 +09:00
Masaki Hara
6fd914a1af
Add vtable-shim helper methods for Instance.
2018-10-24 21:59:06 +09:00
Masaki Hara
0ad4c6f850
Add InstanceDef::VtableShim.
2018-10-24 21:59:06 +09:00
bors
f99911a4a0
Auto merge of #55229 - nikomatsakis:issue-54692-closure-signatures, r=MatthewJasper
...
enforce user annotations in closure signatures
Not *quite* ready yet but I'm opening anyway. Still have to finish running tests locally.
Fixes #54692
Fixes #54124
r? @matthewjasper
2018-10-23 17:44:19 +00:00
Niko Matsakis
4394c83cb7
type_check/mod.rs: rustfmt
2018-10-23 10:57:06 -04:00
Niko Matsakis
1371cd27d0
check the self type is well-formed
...
This fixes `issue-28848.rs` -- it also handles another case that the
AST region checker gets wrong (`wf-self-type.rs`). I don't actually
think that this is the *right way* to be enforcing this constraint --
I think we should probably do it more generally, perhaps by editing
`predicates_of` for the impl itself. The chalk-style implied bounds
setup ought to fix this.
2018-10-23 10:32:46 -04:00
bors
d74b40205f
Auto merge of #55281 - alexcrichton:revert-demote, r=petrochenkov
...
Revert "rustc: Fix (again) simd vectors by-val in ABI"
This reverts commit 3cc8f738d4
.
2018-10-23 10:56:41 +00:00
bors
7cfe5de214
Auto merge of #55113 - mockersf:master, r=estebank
...
#45829 when a renamed import conflict with a previous import
Fix the suggestion when a renamed import conflict.
It check if the snipped contains `" as "`, and if so uses everything before for the suggestion.
2018-10-23 08:17:18 +00:00
Alex Crichton
086f5a55be
Revert "rustc: Fix (again) simd vectors by-val in ABI"
...
This reverts commit 3cc8f738d4
.
2018-10-23 00:59:14 -07:00
bors
d570b36cd9
Auto merge of #54778 - scottmcm:stabilize-ihle, r=pnkfelix
...
Stabilize impl_header_lifetime_elision in 2015
~~This is currently blocked on https://github.com/rust-lang/rust/issues/54902 ; it should be good after that~~
It's already stable in 2018; this finishes the stabilization.
FCP completed (https://github.com/rust-lang/rust/issues/15872#issuecomment-417953153 ), proposal (https://github.com/rust-lang/rust/issues/15872#issuecomment-412759783 ).
Tracking issue: https://github.com/rust-lang/rust/issues/15872
Usage examples (from libcore): https://github.com/rust-lang/rust/pull/54687
2018-10-23 04:05:50 +00:00
bors
979fb16db9
Auto merge of #55231 - zackmdavis:determinate, r=oli-obk
...
pick a reference issue for absolute-paths future incompatibility info
It would be kind of embarrassing to ship with the "issue TBD" message!
2018-10-23 01:24:26 +00:00
Niko Matsakis
64b5599352
stop reporting "unsatisfied lifetime bounds" errors after the first
...
In particular, after the first for a given region variable. This
suppresses a lot of duplicate errors.
2018-10-22 11:41:46 -04:00
Niko Matsakis
2921fbaaa8
flesh out closure-substs test
2018-10-22 10:04:47 -04:00
Niko Matsakis
0afccbb654
fix incremental test
2018-10-22 10:04:47 -04:00
Niko Matsakis
dbbdce51dc
add regression test for #54124
...
Fixes #54124
2018-10-22 10:04:47 -04:00
Niko Matsakis
3a17880539
start enforcing closure types
2018-10-22 10:04:47 -04:00
Niko Matsakis
e0871ed318
record supplied sig of closure
2018-10-22 10:04:47 -04:00
Niko Matsakis
a8f3d6dafc
convert user-provided signatures into def-id
2018-10-22 10:04:47 -04:00
Niko Matsakis
167b460961
add a table to track user-provided signatures
2018-10-22 10:00:32 -04:00
François Mockers
8fe6688fcf
better dummy span detection and remove redundant branch
2018-10-22 09:08:09 +02:00
bors
a66dc8a148
Auto merge of #55224 - kryptan:master, r=matthewjasper
...
Use a keyword in raw identifier example
That's a very small documentation fix. The text says "you can now use keywords as identifiers" but example didn't use a keyword and would work without raw identifiers.
2018-10-22 03:41:28 +00:00
bors
5481485670
Auto merge of #55126 - GuillaumeGomez:improve-search-tabs, r=QuietMisdreavus
...
improve search tabs look
Fixes #55056 .
![screenshot from 2018-10-16 19-06-48](https://user-images.githubusercontent.com/3050060/47034247-1e08b280-d177-11e8-9c1e-c7320af9b561.png )
![screenshot from 2018-10-16 19-09-39](https://user-images.githubusercontent.com/3050060/47034255-2365fd00-d177-11e8-8686-4765d3e56ff5.png )
With this, I think it'll be more obvious.
cc @memoryruins
r? @QuietMisdreavus
2018-10-22 01:04:52 +00:00
bors
424a749a01
Auto merge of #55179 - bjorn3:miri_public_op_field, r=RalfJung
...
Give OpTy access to locals for priroda
r? @oli-obk
2018-10-21 20:07:34 +00:00
bors
12a88a6b09
Auto merge of #55236 - petrochenkov:pfail, r=davidtwco
...
Move parse-fail tests to UI
cc https://github.com/rust-lang/rust/issues/53353
r? @davidtwco
2018-10-21 17:26:16 +00:00
Guillaume Gomez
dc5242592b
improve search tabs look
2018-10-21 19:25:33 +02:00
bors
0e2f912050
Auto merge of #52984 - fabric-and-ink:remove-canonical-var, r=scalexm
...
Replace CanonicalVar with DebruijnIndex
Close #49887
2018-10-21 14:42:35 +00:00
bjorn3
b178553e55
Address review comments
2018-10-21 16:16:23 +02:00
bjorn3
c32cf25689
Rename read_local_of_frame to access_local
2018-10-21 15:49:20 +02:00
bjorn3
f46e3ba308
Rename alloc_map_ref to alloc_map
2018-10-21 15:49:20 +02:00
bjorn3
825b55e763
Add alloc_map accessor
2018-10-21 15:49:19 +02:00
bjorn3
3742892749
Use read_local_of_frame
in eval_place_to_op
...
Also make `layout_of_local` accept any `Frame`
2018-10-21 15:49:19 +02:00
bjorn3
7d406c9146
Fix errors
2018-10-21 15:49:19 +02:00
bjorn3
3e62ba1af6
Add method to get OpTy for local from arbitrary frame
2018-10-21 15:49:19 +02:00
bjorn3
ea51e32043
Make OpTy field op public for priroda
2018-10-21 15:49:19 +02:00
bors
31b97f789f
Auto merge of #55069 - matthewjasper:explain-free-region-liveness, r=nikomatsakis
...
[NLL] Use new region infer errors when explaining borrows
Use the new free region infer errors for explaining borrows
This gives at least some explanation for why a borrow is expected to
last for a certain free region. Also:
* Reports E0373: "closure may outlive the current function" with NLL.
* Special cases the case of returning a reference to (or value referencing) a local variable or temporary (E0515).
* Special case assigning a reference to a local variable in a closure to a captured variable. (E0521)
Closes #51026 - `regions-nested-fns-2.rs` isn't changed to that diagnostic, since that would not be the correct error here.
Closes #51169
cc #53882 - The error is (IMO) better now, but it could be better when we trace lifetimes in these error messages.
r? @nikomatsakis cc @pnkfelix
2018-10-21 12:04:25 +00:00
Matthew Jasper
2a3969a3f7
Use new region infer errors for explaining borrows
...
This gives at least some explanation for why a borrow is expected to
last for a certain free region. Also:
* Reports E0373: "closure may outlive the current function" with NLL.
* Special cases the case of returning a reference to (or value
referencing) a local variable or temporary (E0515).
* Special case assigning a reference to a local variable in a closure
to a captured variable.
2018-10-21 12:35:00 +01:00
Vadim Petrochenkov
21d67c45a3
Fix a few tests with target-specific output
...
Enable one fully ignored test
2018-10-21 14:06:29 +03:00
Vadim Petrochenkov
7977250fb4
Make sure all ui/parse tests have -Z parse-only
...
Except those testing parsing during macro expansion
2018-10-21 14:06:29 +03:00
Vadim Petrochenkov
64c0efab85
Make some ui/parser tests compile-pass
2018-10-21 14:06:28 +03:00
Vadim Petrochenkov
51f3b6241d
Move more parsing tests to ui/parser
2018-10-21 14:06:28 +03:00