Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
995b159
rustdoc: Show must_use attribute
sanxiyn Feb 12, 2015
00a6ff9
Adjusting default CPUs for iOS
vhbit Feb 12, 2015
3df5c4a
Update LLVM to disable asserts in the PassInfo cache
dotdash Feb 12, 2015
9c686dc
Correct typo for 'underyling'
duaneedwards Feb 12, 2015
3d9528a
Unstabilise `words` for now.
huonw Feb 13, 2015
e4a9eb9
Remove `_VALUE` from the float extremes constants.
huonw Feb 13, 2015
b4a2861
Rename the "unsafe" lang item to "unsafe_cell"
lambda-fairy Feb 13, 2015
aef5551
Rename `unsafe_lang_item` to `unsafe_cell_lang_item`
lambda-fairy Feb 13, 2015
c5dba72
Remove reference to mailing list
iKevinY Feb 13, 2015
f28a333
Make if after colon lowercase
fhahn Feb 13, 2015
c6a647a
Replace map(|x| *x) with cloned().
ruuda Feb 13, 2015
1c7cb8b
Relpace map(|x| x.clone()) with cloned().
ruuda Feb 13, 2015
539866b
Replace map(|x| (*x).clone()) with cloned().
ruuda Feb 13, 2015
ce22f30
Make note of doc duplication with reexports
steveklabnik Feb 10, 2015
805a31f
Improve documentation for `Select::new()`.
steveklabnik Feb 13, 2015
4b25d75
Remove outdated information about copy/move from the reference
steveklabnik Feb 13, 2015
58a7d58
Re-word paragraph about enums and equality
steveklabnik Feb 13, 2015
114301f
Refer to LLVM rather than GCC wiki for atomic orderings
steveklabnik Feb 13, 2015
d414a39
Re-tag `slicing_syntax` as `Accepted`.
pnkfelix Feb 13, 2015
65eab6e
Add diverging functions to the book.
steveklabnik Feb 13, 2015
c9ad0d1
Revert incorrect map(|x| *x) -> cloned() substitutions.
ruuda Feb 13, 2015
a7d5c3f
Added all active features to the list in reference.md.
pnkfelix Feb 13, 2015
fb05f28
Add `#[rustc_error]` annotation, which causes trans to signal an error
nikomatsakis Feb 12, 2015
f48eda8
Fix small copy-paste typo
unode Feb 13, 2015
e478f66
Don't specify tuple layout.
steveklabnik Feb 13, 2015
9eb4436
Add link to module-level Option documentation.
steveklabnik Feb 13, 2015
ece19bf
Enhance static mut example in FFI chapter.
steveklabnik Feb 13, 2015
b19fda0
Remove ExactSizeIterator from 64-bit ranges.
Feb 13, 2015
effad62
Add the build date to the reported version. #21957
brson Feb 12, 2015
3df8245
add test for #21909
Feb 13, 2015
148d90b
clarfiy reference with regards to the value of block expressions
steveklabnik Feb 13, 2015
f64d912
Generate grammar.html and link to it from the reference.
steveklabnik Feb 13, 2015
6d2e3d4
Note that Vec<T> is heap allocated.
steveklabnik Feb 13, 2015
5e3ae10
Dramatically expand the docs of std::raw.
huonw Feb 12, 2015
7a52932
Make std::raw::Repr an unsafe trait
Feb 13, 2015
1e01f7f
Rename std::failure to std::panicking
iKevinY Feb 14, 2015
657081b
Normalize range syntax used in concurrency.md
Manishearth Feb 14, 2015
af7b891
Correct typo
shepmaster Feb 14, 2015
f658efe
Documentation Fixes
Feb 14, 2015
1a99315
Fix issue with generation
steveklabnik Feb 15, 2015
36ff7b9
Rollup merge of #22132 - steveklabnik:gh16645, r=alexcrichton
steveklabnik Feb 15, 2015
c4f6468
Rollup merge of #22201 - brson:version, r=nick29581
steveklabnik Feb 15, 2015
ee7dea9
Rollup merge of #22218 - huonw:raw-docs, r=steveklabnik,huonw
steveklabnik Feb 15, 2015
f5a2dff
Rollup merge of #22224 - sanxiyn:must-use, r=cmr
steveklabnik Feb 15, 2015
5957a16
Rollup merge of #22229 - vhbit:ios-default-cpus, r=alexcrichton
steveklabnik Feb 15, 2015
168736a
Rollup merge of #22238 - dotdash:llvmup_20150212, r=alexcrichton
steveklabnik Feb 15, 2015
fc104ff
Rollup merge of #22248 - duaneedwards:patch-1, r=Gankro
steveklabnik Feb 15, 2015
a03ff79
Rollup merge of #22253 - huonw:unstable-words, r=aturon
steveklabnik Feb 15, 2015
24cb751
Rollup merge of #22254 - huonw:float-value--, r=aturon
steveklabnik Feb 15, 2015
1eca6fb
Rollup merge of #22262 - lfairy:unsafe-cell-lang-item, r=alexcrichton
steveklabnik Feb 15, 2015
91ea661
Rollup merge of #22263 - iKevinY:no-mailing-list, r=nikomatsakis
steveklabnik Feb 15, 2015
8d4dd8b
Rollup merge of #22264 - fhahn:tiny-doc-fix2, r=Gankro
steveklabnik Feb 15, 2015
9c9a914
Rollup merge of #22268 - steveklabnik:improve_wait, r=nikomatsakis
steveklabnik Feb 15, 2015
79da52e
Rollup merge of #22269 - steveklabnik:gh22136, r=alexcrichton
steveklabnik Feb 15, 2015
48f1e58
Rollup merge of #22271 - steveklabnik:gh22035, r=nikomatsakis
steveklabnik Feb 15, 2015
c242922
Rollup merge of #22272 - steveklabnik:gh22064, r=alexcrichton
steveklabnik Feb 15, 2015
86920c5
Rollup merge of #22274 - pnkfelix:retag-slicing-syntax-as-accepted, r…
steveklabnik Feb 15, 2015
013769e
Rollup merge of #22275 - steveklabnik:gh7538, r=huonw
steveklabnik Feb 15, 2015
91e373a
Rollup merge of #22276 - ruud-v-a:map-clone, r=nikomatsakis
steveklabnik Feb 15, 2015
24ffd5b
Rollup merge of #22277 - pnkfelix:reference-update-feature-gate-list,…
steveklabnik Feb 15, 2015
c34f8fb
Rollup merge of #22278 - nikomatsakis:rustc-error, r=nikomatsakis
steveklabnik Feb 15, 2015
5a3aa4a
Rollup merge of #22280 - Unode:patch-1, r=steveklabnik
steveklabnik Feb 15, 2015
82e42a0
Rollup merge of #22284 - steveklabnik:fix_another_lie, r=nikomatsakis
steveklabnik Feb 15, 2015
51abc97
Rollup merge of #22288 - steveklabnik:add_option_link, r=nikomatsakis
steveklabnik Feb 15, 2015
a3a1f86
Rollup merge of #22295 - steveklabnik:gh9980, r=alexcrichton
steveklabnik Feb 15, 2015
f89168e
Rollup merge of #22299 - bluss:range-64-is-not-exact-size, r=alexcric…
steveklabnik Feb 15, 2015
59feb6f
Rollup merge of #22302 - japaric:gh21909, r=brson
steveklabnik Feb 15, 2015
4587f64
Rollup merge of #22305 - steveklabnik:gh20948, r=alexcrichton
steveklabnik Feb 15, 2015
6aaf535
Rollup merge of #22307 - steveklabnik:gh14849, r=huonw
steveklabnik Feb 15, 2015
5ee9d9e
Rollup merge of #22308 - steveklabnik:gh19278, r=brson
steveklabnik Feb 15, 2015
bf25753
Rollup merge of #22324 - Manishearth:patch-1, r=steveklabnik
steveklabnik Feb 15, 2015
d80e5c7
Rollup merge of #22328 - shepmaster:os_str_typo, r=steveklabnik
steveklabnik Feb 15, 2015
f43546f
Rollup merge of #22329 - thiagooak:book, r=steveklabnik
steveklabnik Feb 15, 2015
3ce2e0d
Rollup merge of #22347 - iKevinY:std-lib-panicking, r=brson
steveklabnik Feb 15, 2015
3ae8b02
remove unneeded slicing_syntax feature gate
steveklabnik Feb 15, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Added all active features to the list in reference.md.
Added a second note about keeping the reference.md list up-to-date to
the bottom of the list, since not everyone (including me) reads the
big comment at the top of it.  :)

Ensured that the feature gate list in reference.md is kept in
alphabetical order.
  • Loading branch information
pnkfelix committed Feb 13, 2015
commit a7d5c3f682002157c9d74cce773fb792d92333e1
62 changes: 52 additions & 10 deletions src/doc/reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -2377,21 +2377,33 @@ considered off, and using the features will result in a compiler error.

The currently implemented features of the reference compiler are:

* `advanced_slice_patterns` - see the [match expressions](#match-expressions)
section for discussion; the exact semantics of
slice patterns are subject to change.

* `asm` - The `asm!` macro provides a means for inline assembly. This is often
useful, but the exact syntax for this feature along with its
semantics are likely to change, so this macro usage must be opted
into.

* `associated_types` - Allows type aliases in traits. Experimental.

* `box_patterns` - Allows `box` patterns, the exact semantics of which
is subject to change.

* `box_syntax` - Allows use of `box` expressions, the exact semantics of which
is subject to change.

* `concat_idents` - Allows use of the `concat_idents` macro, which is in many
ways insufficient for concatenating identifiers, and may be
removed entirely for something more wholesome.

* `default_type_params` - Allows use of default type parameters. The future of
this feature is uncertain.

* `intrinsics` - Allows use of the "rust-intrinsics" ABI. Compiler intrinsics
are inherently unstable and no promise about them is made.

* `int_uint` - Allows the use of the `int` and `uint` types, which are deprecated.
Use `isize` and `usize` instead.

* `lang_items` - Allows use of the `#[lang]` attribute. Like `intrinsics`,
lang items are inherently unstable and no promise about them
is made.
Expand All @@ -2410,12 +2422,33 @@ The currently implemented features of the reference compiler are:
* `log_syntax` - Allows use of the `log_syntax` macro attribute, which is a
nasty hack that will certainly be removed.

* `main` - Allows use of the `#[main]` attribute, which changes the entry point
into a Rust program. This capabiilty is subject to change.

* `macro_reexport` - Allows macros to be re-exported from one crate after being imported
from another. This feature was originally designed with the sole
use case of the Rust standard library in mind, and is subject to
change.

* `non_ascii_idents` - The compiler supports the use of non-ascii identifiers,
but the implementation is a little rough around the
edges, so this can be seen as an experimental feature
for now until the specification of identifiers is fully
fleshed out.

* `no_std` - Allows the `#![no_std]` crate attribute, which disables the implicit
`extern crate std`. This typically requires use of the unstable APIs
behind the libstd "facade", such as libcore and libcollections. It
may also cause problems when using syntax extensions, including
`#[derive]`.

* `on_unimplemented` - Allows the `#[rustc_on_unimplemented]` attribute, which allows
trait definitions to add specialized notes to error messages
when an implementation was expected but not found.

* `optin_builtin_traits` - Allows the definition of default and negative trait
implementations. Experimental.

* `plugin` - Usage of [compiler plugins][plugin] for custom lints or syntax extensions.
These depend on compiler internals and are subject to change.

Expand All @@ -2431,8 +2464,15 @@ The currently implemented features of the reference compiler are:
* `simd` - Allows use of the `#[simd]` attribute, which is overly simple and
not the SIMD interface we want to expose in the long term.

* `simd_ffi` - Allows use of SIMD vectors in signatures for foreign functions.
The SIMD interface is subject to change.

* `staged_api` - Allows usage of stability markers and `#![staged_api]` in a crate

* `start` - Allows use of the `#[start]` attribute, which changes the entry point
into a Rust program. This capabiilty, especially the signature for the
annotated function, is subject to change.

* `struct_inherit` - Allows using struct inheritance, which is barely
implemented and will probably be removed. Don't use this.

Expand Down Expand Up @@ -2460,18 +2500,20 @@ The currently implemented features of the reference compiler are:
which is considered wildly unsafe and will be
obsoleted by language improvements.

* `unsafe_no_drop_flag` - Allows use of the `#[unsafe_no_drop_flag]` attribute,
which removes hidden flag added to a type that
implements the `Drop` trait. The design for the
`Drop` flag is subject to change, and this feature
may be removed in the future.

* `unmarked_api` - Allows use of items within a `#![staged_api]` crate
which have not been marked with a stability marker.
Such items should not be allowed by the compiler to exist,
so if you need this there probably is a compiler bug.

* `associated_types` - Allows type aliases in traits. Experimental.

* `no_std` - Allows the `#![no_std]` crate attribute, which disables the implicit
`extern crate std`. This typically requires use of the unstable APIs
behind the libstd "facade", such as libcore and libcollections. It
may also cause problems when using syntax extensions, including
`#[derive]`.
* `visible_private_types` - Allows public APIs to expose otherwise private
types, e.g. as the return type of a public function.
This capability may be removed in the future.

If a feature is promoted to a language feature, then all existing programs will
start to receive compilation warnings about #[feature] directives which enabled
Expand Down
1 change: 1 addition & 0 deletions src/libsyntax/feature_gate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ static KNOWN_FEATURES: &'static [(&'static str, &'static str, Status)] = &[
// switch to Accepted; see RFC 320)
("unsafe_no_drop_flag", "1.0.0", Active),
];
// (changing above list without updating src/doc/reference.md makes @cmr sad)

enum Status {
/// Represents an active feature that is currently being implemented or
Expand Down