Commit Graph

69201 Commits

Author SHA1 Message Date
kennytm
26af3e1c4e Rollup merge of #45644 - zackmdavis:edit_disallowed_inner_attr_note, r=estebank
edit and fix bad spacing of inner-attribute-not-allowed note

This multiline string literal was missing a backslash, leaving an awkward
newline and 35 spaces in the middle of the message.

But while we're here, the existing message seems kind of long in comparison to
similar notes: to cut it down, we excise the mentions of doc comments, which
seems sensible because we know that this erroneous attribute is not a doc
comment (notice the `is_sugared_doc: false` at the end of the function; if it
had been a doc comment, that error would get set in the `token::DocComment`
match branch of `parse_outer_attributes`).
2017-11-01 13:32:13 +08:00
kennytm
28b18790f7 Rollup merge of #45624 - glaubitz:bootstrap-sparc64, r=kennytm
bootstrap: Add missing cputype matching for sparc64

Trying to configure rust natively on sparc64-unknown-linux-gnu currently fails with:

```
root@deb4g:/local_scratch/glaubitz/rust/rust# ./configure --host=sparc64-unknown-linux-gnu --enable-local-rust --local-rust-root=/usr/local
configure: processing command line
configure:
configure: build.host           := ['sparc64-unknown-linux-gnu']
configure: build.rustc          := /usr/local/bin/rustc
configure: build.cargo          := /usr/local/bin/cargo
configure: build.rustc          := /usr/local/bin/rustc
configure: build.cargo          := /usr/local/bin/cargo
configure: build.configure-args := ['--host=sparc64-unknown-linux-gnu', '--enable ...
unknown cpu type: sparc64
root@deb4g:/local_scratch/glaubitz/rust/rust#
```

This is trivially fixed by defining sparc64 as a valid cputype.
2017-11-01 13:32:12 +08:00
kennytm
18fa54f835 Rollup merge of #45619 - mneumann:fix-bootstrap-dragonfly, r=alexcrichton
Support Dragonfly when building Openssl
2017-11-01 13:32:11 +08:00
kennytm
e01dcf4b75 Rollup merge of #45602 - petrochenkov:ospan, r=michaelwoerister
Optimize some span operations

Do not decode span data twice/thrice/etc unnecessarily.
Applied to stable hashing and all methods in `impl Span`.

Follow up to https://github.com/rust-lang/rust/pull/44646
r? @michaelwoerister
2017-11-01 13:32:10 +08:00
kennytm
59c9d03af8 Rollup merge of #45579 - leodasvacas:document-that-call-can-be-adt-constructor, r=estebank
Document that call expressions also represent ADT constructors.

This is a rather obscure part of the language.
2017-11-01 13:32:09 +08:00
kennytm
07df45d363 Rollup merge of #45450 - GuillaumeGomez:overlap-link, r=QuietMisdreavus
Fix title heading overlap in rust doc

Fixes #45158.

To be noted that this margin only appears when a title is the first element.

<img width="1440" alt="screen shot 2017-10-22 at 16 08 44" src="https://user-images.githubusercontent.com/3050060/31862746-6411070e-b743-11e7-9a75-4159e1f7f1d6.png">

r? @rust-lang/docs
2017-11-01 13:32:08 +08:00
bors
31bbe57c79 Auto merge of #45267 - oconnor663:rwlock_send, r=alexcrichton
remove the `T: Sync` requirement for `RwLock<T>: Send`

That requirement makes sense for containers like `Arc` that don't
uniquely own their contents, but `RwLock` is not one of those.

This restriction was added in 380d23b5d4, but it's not clear why. @hniksic
and I [were discussing this on reddit](https://www.reddit.com/r/rust/comments/763o7r/blog_posts_introducing_lockfree_rust_comparing/dobcvbm/). I might be totally wrong about this change being sound, but I'm super curious to find out :)
2017-11-01 04:32:15 +00:00
bors
fc3e12a03c Auto merge of #45187 - GuillaumeGomez:doc-ui-improvement, r=QuietMisdreavus
Improve sidebar rendering and add methods list

I suppose it can be reviewed as is, but this is just the first step of a more global plan.

cc @rust-lang/docs @nical

And a screenshot of course:

<img width="1440" alt="screen shot 2017-10-10 at 23 38 45" src="https://user-images.githubusercontent.com/3050060/31412170-657beaf6-ae14-11e7-9f01-1e562a034595.png">
2017-11-01 01:45:58 +00:00
Igor Matuszewski
b4ffedee67 Update rls so it compiles with #45468 2017-11-01 00:48:26 +01:00
Cldfire
61396a8286 Add UI test 2017-10-31 19:35:51 -04:00
Josh Leeb-du Toit
87c951da0f Improve display of error E0308 for structs
Improve the display of error E0308 for structs by adding a "did you
mean" span label.
2017-11-01 10:21:26 +11:00
bors
f3b900cc3b Auto merge of #44764 - nvzqz:master, r=alexcrichton
Implement TryFrom<&[T]> for &[T; N]

There are many cases where a buffer with a static compile-time size is preferred over a slice with a dynamic size. This allows for performing a checked conversion from `&[T]` to `&[T; N]`. This may also lead to compile-time optimizations involving `[T; N]` such as loop unrolling.

This is my first PR to Rust, so I'm not sure if discussion of this change should happen here or does it need its own RFC? I figured these changes would be a subset of #33417.
2017-10-31 23:06:37 +00:00
est31
6a16a7c05b Also support macro generated atomic types
This is kind of a hack but it works...
2017-10-31 21:46:05 +01:00
est31
911e476cbe Tidy: track rustc_const_unstable feature gates as well
This is important for the unstable book stub generation.
2017-10-31 21:39:32 +01:00
Matt Brubeck
351f7b02de Fix incorrect error type in Read::byte docs 2017-10-31 12:30:15 -07:00
John Paul Adrian Glaubitz
d7dec7c8d7 bootstrap: Add missing cputype matching for sparc64 2017-10-31 19:26:41 +01:00
Niko Matsakis
aae3e74e70 patch mir-opt reference files 2017-10-31 14:02:31 -04:00
Cldfire
ff832405d0 Suggest renaming import if names clash 2017-10-31 13:31:48 -04:00
Niko Matsakis
9b3af6ce3c rewrite write_mir_fn_graphviz to cope with non-global tcx 2017-10-31 12:55:54 -04:00
Niko Matsakis
d9fb792d7c treat -Znll as implying -Zborrowck-mir 2017-10-31 12:41:41 -04:00
Niko Matsakis
99aa313636 runtest: fix mir directory and delete outdated MIR files 2017-10-31 12:41:41 -04:00
Niko Matsakis
7675ea997a remove the NLL pass (it is now invoked by mir borrowck) 2017-10-31 12:41:40 -04:00
Niko Matsakis
bf57a230eb WIP patch compile-fail/nll/region-ends-after-if-condition.rs 2017-10-31 12:41:40 -04:00
Niko Matsakis
f27eb1e684 change region display to '_#Nr, update the newtype_index! macro
The macro now takes a format string. It no longer defaults to using the
type name. Didn't seem worth going through contortions to maintain.  I
also changed most of the debug formats to be `foo[N]` instead of `fooN`.
2017-10-31 12:41:40 -04:00
Niko Matsakis
a94b01a0e2 connect MIR borrowck with NLL 2017-10-31 12:41:40 -04:00
Niko Matsakis
81449174f3 make the dataflow / mir-borrowck types carry a 'tcx lifetime
Also, factor out `do_mir_borrowck`, which is the code that actually
performs the MIR borrowck from within the scope of an inference context.

This change should be a pure refactoring.
2017-10-31 12:41:40 -04:00
Niko Matsakis
82b287a8c8 test "needs drop" on region-erased, lifted types
This will be important in next commit, since the input types will be
tagged not with `'gcx` but rather `'tcx`. Also, using the region-erased,
lifted types enables better caching.
2017-10-31 12:41:40 -04:00
Niko Matsakis
b2c248efea reorder 'gcx and 'tcx in BorrowckErrors impl 2017-10-31 12:41:40 -04:00
Niko Matsakis
29cdd73062 make closure_self_ty invokable with 'gcx and 'tcx 2017-10-31 12:41:40 -04:00
Niko Matsakis
5aa1cbf18f make MirSource::from_local_def_id invokable with 'gcx and 'tcx 2017-10-31 12:41:39 -04:00
Niko Matsakis
68c4844a1b make nll separately invokable 2017-10-31 12:41:39 -04:00
Santiago Pastorino
dde61f3855 add basic region subtyping inference 2017-10-31 12:41:39 -04:00
Santiago Pastorino
b8615f3bea add reborrow constraints 2017-10-31 12:41:39 -04:00
Niko Matsakis
f700728a3b make end-point optional in the borrow check 2017-10-31 12:41:39 -04:00
Niko Matsakis
5b2adcce11 factor out NLL invocation interface 2017-10-31 12:41:39 -04:00
Niko Matsakis
7414060344 update the format of liveness debug dumps to be more readable 2017-10-31 12:41:39 -04:00
Niko Matsakis
24442ffa66 add subregion between borrow region and resulting reference 2017-10-31 12:41:39 -04:00
Niko Matsakis
af09f720d6 preliminary support for may-dangle attribute and drop constraints 2017-10-31 12:41:38 -04:00
Niko Matsakis
e02937848b extend liveness to distinguish "drop" and "non-drop" uses 2017-10-31 12:41:38 -04:00
Niko Matsakis
cb56ff5a77 reorder liveness to bring the more significant code up top 2017-10-31 12:41:38 -04:00
Niko Matsakis
899c7ad9b2 avoid unnecessary copies in liveness computation 2017-10-31 12:41:38 -04:00
Niko Matsakis
7523c7368c introduce liveness constraints into NLL code
And do a bunch of gratuitious refactoring that I did not bother to
separate into nice commits.
2017-10-31 12:41:38 -04:00
Niko Matsakis
8535a4a32c add helper for_each_free_region that iterates over free regions 2017-10-31 12:41:38 -04:00
Niko Matsakis
1f06ba486f extend liveness to compute intrablock liveness and add unit tests 2017-10-31 12:41:38 -04:00
Niko Matsakis
ea03a43fe6 introduce apply helper that applies a DefUse set to live bits 2017-10-31 12:41:38 -04:00
Niko Matsakis
bd2511652f extend dump_mir to work for any tcx, not just global tcx 2017-10-31 12:41:37 -04:00
Niko Matsakis
16b5f244fb rename BlockInfo and BlockInfoVisitor to DefsUses 2017-10-31 12:41:37 -04:00
Niko Matsakis
9a47fd2dac factor out pre_defs field by going backwards 2017-10-31 12:41:37 -04:00
Niko Matsakis
acc5c4345c add a test for the subtle case around calls 2017-10-31 12:41:37 -04:00
Niko Matsakis
c42a64518a execute liveness, write a simple test 2017-10-31 12:41:37 -04:00