506f69aed7
There are 6 new compiler recognised attributes: deprecated, experimental, unstable, stable, frozen, locked (these levels are taken directly from Node's "stability index"[1]). These indicate the stability of the item to which they are attached; e.g. `#[deprecated] fn foo() { .. }` says that `foo` is deprecated. This comes with 3 lints for the first 3 levels (with matching names) that will detect the use of items marked with them (the `unstable` lint includes items with no stability attribute). The attributes can be given a short text note that will be displayed by the lint. An example: #[warn(unstable)]; // `allow` by default #[deprecated="use `bar`"] fn foo() { } #[stable] fn bar() { } fn baz() { } fn main() { foo(); // "warning: use of deprecated item: use `bar`" bar(); // all fine baz(); // "warning: use of unmarked item" } The lints currently only check the "edges" of the AST: i.e. functions, methods[2], structs and enum variants. Any stability attributes on modules, enums, traits and impls are not checked. [1]: http://nodejs.org/api/documentation.html [2]: the method check is currently incorrect and doesn't work. |
||
---|---|---|
.. | ||
lib | ||
po | ||
lib.css | ||
manual.css | ||
po4a.conf | ||
prep.js | ||
README | ||
rust.css | ||
rust.md | ||
rustpkg.md | ||
tutorial-borrowed-ptr.md | ||
tutorial-conditions.md | ||
tutorial-container.md | ||
tutorial-ffi.md | ||
tutorial-macros.md | ||
tutorial-tasks.md | ||
tutorial.md | ||
version_info.html.template |
Pandoc, a universal document converter, is required to generate docs as HTML from Rust's source code. It's available for most platforms here: http://johnmacfarlane.net/pandoc/installing.html Node.js (http://nodejs.org/) is also required for generating HTML from the Markdown docs (reference manual, tutorials, etc.) distributed with this git repository. To generate all the docs, run `make docs` from the root of the repository. This will convert the distributed Markdown docs to HTML and generate HTML doc for the 'std' and 'extra' libraries. To generate HTML documentation from one source file/crate, do something like: rustdoc --output-dir html-doc/ --output-format html ../src/libstd/path.rs (This, of course, requires that you've built/installed the `rustdoc` tool.) To generate an HTML version of a doc from Markdown, without having Node.js installed, do something like: pandoc --from=markdown --to=html --number-sections -o rust.html rust.md The syntax for pandoc flavored markdown can be found at: http://johnmacfarlane.net/pandoc/README.html#pandocs-markdown A nice quick reference (for non-pandoc markdown) is at: http://kramdown.rubyforge.org/quickref.html