Commit graph

1443 commits

Author SHA1 Message Date
Brian Anderson
7b73ec4698 Tie stability attributes to feature gates 2015-01-21 16:16:21 -08:00
Brian Anderson
94ca8a3610 Add 'feature' and 'since' to stability attributes 2015-01-21 16:16:18 -08:00
Brian Anderson
90aa581cff Remove unused stability levels from compiler 2015-01-21 10:34:16 -08:00
Barosl LEE
a79f1921a9 Rollup merge of #21375 - petrochenkov:ssbsl, r=alexcrichton
After PR #19766 added implicit coersions `*mut T -> *const T`, the explicit casts can be removed.
(The number of such casts turned out to be relatively small).
2015-01-21 02:16:50 +09:00
Barosl LEE
f836f1e412 Rollup merge of #21339 - thorncp:api-docs-search, r=alexcrichton
Increases the delay of the search box to 500ms after key up. I tried
adding a three character minimum for setting the delay, but didn't find
it very useful.

Should close #20095

@Jurily, your input is welcome!
2015-01-21 02:16:48 +09:00
bors
9006c3c0f1 Auto merge of #21287 - alexcrichton:issue-19872, r=huonw
cc #19872, this may help give some insight
2015-01-20 04:23:28 +00:00
bors
cda3490f8f Auto merge of #21269 - alexcrichton:issue-6936, r=pnkfelix
This commit modifies resolve to prevent conflicts with typedef names in the same
method that conflits are prevented with enum names. This is a breaking change
due to the differing semantics in resolve, and any errors generated on behalf of
this change require that a conflicting typedef, module, or structure to be
renamed so they do not conflict.

[breaking-change]
Closes #6936
2015-01-19 15:44:41 +00:00
Alex Crichton
3121c04043 Fix typedef/module name conflicts in the compiler 2015-01-18 18:26:34 -08:00
Alex Crichton
440d63b0f5 rustdoc: Improve diagnostics on lockfile failures
cc #19872, this may help give some insight
2015-01-18 10:22:12 -08:00
Seo Sanghyeon
3f0cc8011a Make output type in ast::FnDecl optional 2015-01-18 22:49:19 +09:00
Brian Anderson
6f3a80e411 Set allow(unstable) in crates that use unstable features
Lets them build with the -dev, -nightly, or snapshot compiler
2015-01-17 16:38:04 -08:00
Chris Thorn
f355747a19 Increase docs search box delay
Increases the delay of the search box to 500ms after key up. I tried
adding a three character minimum for setting the delay, but didn't find
it very useful.

Should close #20095
2015-01-17 16:36:57 -08:00
we
812ce6c190 Remove unnecessary explicit conversions to *const T 2015-01-17 07:34:10 +03:00
Alex Crichton
ee960afc10 rollup merge of #21071: sfaxon/mobile-friendly-book
Helps with mobile friendliness of The Rust Book #20850
2015-01-15 14:11:40 -08:00
Eduard Burtescu
2cdc86c180 syntax: add fully qualified UFCS expressions. 2015-01-15 18:51:14 +02:00
bors
1c78ad937b auto merge of #20990 : estsauver/rust/playpen_20732, r=alexcrichton
In #20732, that all links in some modules point to the same code
examples was reported. The ID's generated for documents in
librustdoc are not all unique, which means the code rendered as
text is not being properly selected.

This change makes the link to the code section that is next to
the current link.
2015-01-15 09:12:47 +00:00
Earl St Sauver
2a320f21d0 Fix playpen links to not all be the same
Fixes #20732, that all links in some modules point to the same code
examples was reported. The ID's generated for documents in
librustdoc are not all unique, which means the code rendered as
text is not being properly selected.

This change removes the unique id generation and instead changes the
frontend code to grab the correct code sample by it's relative
position in the dom.
2015-01-13 22:25:11 -08:00
bors
3614e1de6c auto merge of #21061 : japaric/rust/range, r=nick29581 2015-01-14 04:42:01 +00:00
bors
170c4399e6 auto merge of #21018 : tomjakubowski/rust/rustdoc-where-xcrate, r=alexcrichton
Various fixes for `rustdoc`, including showing where clauses
finally on re-exported items.
2015-01-14 00:41:55 +00:00
Seth Faxon
9af8a646a9 Make the Rust Book more mobile friendly 2015-01-13 09:41:26 -08:00
Ms2ger
27db3f0585 Return the Vec from csearch::get_item_attrs.
Using a closure unnecessarily obfuscates the code.
2015-01-13 10:28:06 +01:00
Jorge Aparicio
c1d48a8508 cleanup: &foo[0..a] -> &foo[..a] 2015-01-12 17:59:37 -05:00
Tom Jakubowski
616db5a501 rustdoc: Show type bindings on object types
Fix #20299
2015-01-12 09:43:24 -08:00
Tom Jakubowski
072a89642b rustdoc: Remove traces of old closures 2015-01-12 09:25:20 -08:00
Tom Jakubowski
8a69d35e1e rustdoc: Fix where clauses on re-exports
Projection predicates on re-exports, for the time being, are rendered as
equality predicates because that's easier. It would be nice to fix this
in the future.

Some gymnastics were needed to remove redundant bounds from the `types`
and `lifetimes` fields, remove implicit `Sized` bounds, and re-create
`?Sized` bounds.

Fix #20203, fix #20924, fix #20911, fix #20534
2015-01-12 09:25:07 -08:00
Nick Cameron
55d5c46d3a Make the compilation process more easily customisable 2015-01-12 12:53:07 +13:00
Pascal Hertleif
89ca858bb5 Fix playpen.js errors on pres without IDs
This adds an early return to skip code blocks without IDs.

Fixes #20864.
2015-01-10 11:55:48 +01:00
bors
bc492f0cf4 Merge pull request #20793 from ktossell/rustdoc-fixedvector-syntax
Make rustdoc use the `[_; N]` syntax instead of `[_, ..N]`

Reviewed-by: sfackler
2015-01-09 17:35:10 +00:00
Ken Tossell
38a1bb13cd Make rustdoc use the [_; N] syntax instead of [_, ..N] 2015-01-08 22:35:08 -05:00
Brian Anderson
a728b4c9b8 rustdoc: Stop adding #[deny(warnings)] to all tests
Because we are warning about unstable APIs and there are many
of these yet, this creates a high likelyhood doc tests will
fail.

This doesn't seem right as a blanket policy to me anyway, though
certainly we want it in std. Probably more appropriate to add
a rustdoc option.
2015-01-08 18:13:20 -08:00
Alex Crichton
4281bd1932 rollup merge of #20754: nikomatsakis/int-feature
Conflicts:
	src/test/compile-fail/borrowck-move-out-of-overloaded-auto-deref.rs
	src/test/compile-fail/issue-2590.rs
	src/test/compile-fail/lint-stability.rs
	src/test/compile-fail/slice-mut-2.rs
	src/test/compile-fail/std-uncopyable-atomics.rs
2015-01-08 09:24:08 -08:00
Huon Wilson
4f5a57e80e Remove warning from the libraries.
This adds the int_uint feature to *every* library, whether or not it
needs it.
2015-01-08 11:02:23 -05:00
Huon Wilson
e95779554e Store deprecated status of i/u-suffixed literals. 2015-01-08 11:02:23 -05:00
Brian Anderson
1f70acbf4c Improvements to feature staging
This gets rid of the 'experimental' level, removes the non-staged_api
case (i.e. stability levels for out-of-tree crates), and lets the
staged_api attributes use 'unstable' and 'deprecated' lints.

This makes the transition period to the full feature staging design
a bit nicer.
2015-01-08 03:07:23 -08:00
Alex Crichton
0dc48b47a8 Test fixes and rebase conflicts 2015-01-07 19:27:27 -08:00
Alex Crichton
373cbab5b0 rollup merge of #20723: pnkfelix/feature-gate-box-syntax
Conflicts:
	src/compiletest/compiletest.rs
	src/libcollections/lib.rs
	src/libserialize/lib.rs
	src/libsyntax/feature_gate.rs
2015-01-07 17:42:47 -08:00
Alex Crichton
6e806bdefd rollup merge of #20721: japaric/snap
Conflicts:
	src/libcollections/vec.rs
	src/libcore/fmt/mod.rs
	src/librustc/lint/builtin.rs
	src/librustc/session/config.rs
	src/librustc_trans/trans/base.rs
	src/librustc_trans/trans/context.rs
	src/librustc_trans/trans/type_.rs
	src/librustc_typeck/check/_match.rs
	src/librustdoc/html/format.rs
	src/libsyntax/std_inject.rs
	src/libsyntax/util/interner.rs
	src/test/compile-fail/mut-pattern-mismatched.rs
2015-01-07 17:26:58 -08:00
Alex Crichton
cb344be99d rollup merge of #20725: tomjakubowski/rustdoc-misc
Conflicts:
	src/librustdoc/html/format.rs
2015-01-07 17:19:51 -08:00
Alex Crichton
a204dc56c9 rollup merge of #20722: alexcrichton/audit-show
Conflicts:
	src/libcollections/vec.rs
	src/libcore/fmt/mod.rs
	src/librustdoc/html/format.rs
2015-01-07 17:18:59 -08:00
Alex Crichton
dd38f46d71 rollup merge of #20708: aturon/new-int-modules
Conflicts:
	src/libserialize/lib.rs
2015-01-07 17:18:01 -08:00
Alex Crichton
188bfbfd5d rollup merge of #20703: barosl/rustdoc-z-index-fallout
Due to the CSS changes done by the previous patch to make the line numbers clickable (#20092), the sidebar became unclickable. This PR reverts the changes and adopts an alternative approach.

I'm very sorry for having broken things.
2015-01-07 17:17:32 -08:00
Tom Jakubowski
a0734ff7e0 rustdoc: Render associated type bindings
e.g. `Foo<Output=A>`

This does not work cross-crate unfortunately.

Part of #20646
2015-01-07 16:22:04 -08:00
Felix S. Klock II
4a31aaddb3 Added box_syntax feature gate; added to std and rustc crates for bootstrap.
To avoid using the feauture, change uses of `box <expr>` to
`Box::new(<expr>)` alternative, as noted by the feature gate message.

(Note that box patterns have no analogous trivial replacement, at
least not in general; you need to revise the code to do a partial
match, deref, and then the rest of the match.)

[breaking-change]
2015-01-08 00:41:43 +01:00
Brian Anderson
c27133e2ce Preliminary feature staging
This partially implements the feature staging described in the
[release channel RFC][rc]. It does not yet fully conform to the RFC as
written, but does accomplish its goals sufficiently for the 1.0 alpha
release.

It has three primary user-visible effects:

* On the nightly channel, use of unstable APIs generates a warning.
* On the beta channel, use of unstable APIs generates a warning.
* On the beta channel, use of feature gates generates a warning.

Code that does not trigger these warnings is considered 'stable',
modulo pre-1.0 bugs.

Disabling the warnings for unstable APIs continues to be done in the
existing (i.e. old) style, via `#[allow(...)]`, not that specified in
the RFC. I deem this marginally acceptable since any code that must do
this is not using the stable dialect of Rust.

Use of feature gates is itself gated with the new 'unstable_features'
lint, on nightly set to 'allow', and on beta 'warn'.

The attribute scheme used here corresponds to an older version of the
RFC, with the `#[staged_api]` crate attribute toggling the staging
behavior of the stability attributes, but the user impact is only
in-tree so I'm not concerned about having to make design changes later
(and I may ultimately prefer the scheme here after all, with the
`#[staged_api]` crate attribute).

Since the Rust codebase itself makes use of unstable features the
compiler and build system to a midly elaborate dance to allow it to
bootstrap while disobeying these lints (which would otherwise be
errors because Rust builds with `-D warnings`).

This patch includes one significant hack that causes a
regression. Because the `format_args!` macro emits calls to unstable
APIs it would trigger the lint.  I added a hack to the lint to make it
not trigger, but this in turn causes arguments to `println!` not to be
checked for feature gates. I don't presently understand macro
expansion well enough to fix. This is bug #20661.

Closes #16678

[rc]: https://github.com/rust-lang/rfcs/blob/master/text/0507-release-channels.md
2015-01-07 15:34:56 -08:00
Alex Crichton
9851b4fbbf std: Tweak String implementations
This commit performs a pass over the implementations of the new `String` trait
in the formatting module. Some implementations were removed as a conservative
move pending an upcoming convention about `String` implementations, and some
were added in order to retain consistency across the libraries. Specifically:

* All "smart pointers" implement `String` now, adding missing implementations
  for `Arc` and `Rc`.
* The `Vec<T>` and `[T]` types no longer implement `String`.
* The `*const T` and `*mut T` type no longer implement `String`.
* The `()` type no longer implements `String`.
* The `Path` type's `Show` implementation does not surround itself with `Path
  {}` (a minor tweak).

All implementations of `String` in this PR were also marked `#[stable]` to
indicate that the types will continue to implement the `String` trait regardless
of what it looks like.
2015-01-07 15:24:21 -08:00
Jorge Aparicio
517f1cc63c use slicing sugar 2015-01-07 17:35:56 -05:00
Jorge Aparicio
6e2bfe4ae8 register new snapshots 2015-01-07 17:15:06 -05:00
Alex Crichton
b53e9f17d3 Register new snapshots 2015-01-07 10:27:52 -08:00
Barosl Lee
29ff43bbbb Fix rustdoc fallout from #20092
Due to the CSS changes done by the previous patch to make the line
numbers clickable (#20092), the sidebar became unclickable. This commit
reverts the changes and adopts an alternative approach.
2015-01-08 03:10:02 +09:00
bors
f7105bfade Merge pull request #20682 from sfackler/fix-impls
Fix JS error

Reviewed-by: alexcrichton
2015-01-07 15:35:33 +00:00