add some notes on coding conventions and link to copyright notice
This commit is contained in:
parent
228ecd29a8
commit
e2a7f6f3ad
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
- [About this guide](./about-this-guide.md)
|
- [About this guide](./about-this-guide.md)
|
||||||
- [How to build the compiler and run what you built](./how-to-build-and-run.md)
|
- [How to build the compiler and run what you built](./how-to-build-and-run.md)
|
||||||
|
- [Coding conventions](./conventions.md)
|
||||||
- [The compiler testing framework](./tests/intro.md)
|
- [The compiler testing framework](./tests/intro.md)
|
||||||
- [Running tests](./tests/running.md)
|
- [Running tests](./tests/running.md)
|
||||||
- [Adding new tests](./tests/adding.md)
|
- [Adding new tests](./tests/adding.md)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,63 @@
|
||||||
|
rustc is slowly moving towards the [Rust standard coding style][fmt];
|
||||||
|
at the moment, however, it follows a rather more *chaotic*
|
||||||
|
style. There are a few things that are always true.
|
||||||
|
|
||||||
|
[fmt]: https://github.com/rust-lang-nursery/fmt-rfcs
|
||||||
|
|
||||||
|
# The tidy script
|
||||||
|
|
||||||
|
Running `./x.py test` begins with a "tidy" step. This tidy step checks
|
||||||
|
that your source files meet some basic conventions.
|
||||||
|
|
||||||
|
<a name=copyright>
|
||||||
|
|
||||||
|
## Copyright notice
|
||||||
|
|
||||||
|
All files must begin with the following copyright notice:
|
||||||
|
|
||||||
|
```
|
||||||
|
// Copyright 2012-2013 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
```
|
||||||
|
|
||||||
|
The year at the top is not meaningful: copyright protections are in
|
||||||
|
fact automatic from the moment of authorship. We do not typically edit
|
||||||
|
the years on existing files. When creating a new file, you can use the
|
||||||
|
current year if you like, but you don't have to.
|
||||||
|
|
||||||
|
## Line length
|
||||||
|
|
||||||
|
Lines should be at most 100 characters. It's even better if you can
|
||||||
|
keep things to 80.
|
||||||
|
|
||||||
|
**Ignoring the line length limit.** Sometimes -- in particular for
|
||||||
|
tests -- it can be necessary to exempt yourself from this limit. In
|
||||||
|
that case, you can add a comment towards the top of the file (after
|
||||||
|
the copyright notice) like so:
|
||||||
|
|
||||||
|
```
|
||||||
|
// ignore-tidy-linelength
|
||||||
|
```
|
||||||
|
|
||||||
|
## Tabs vs spaces
|
||||||
|
|
||||||
|
Prefer 4-space indent.
|
||||||
|
|
||||||
|
# Warnings and lints
|
||||||
|
|
||||||
|
In general, Rust crates
|
||||||
|
|
||||||
|
# Policy on using crates from crates.io
|
||||||
|
|
||||||
|
It is allowed to use crates from crates.io, though external
|
||||||
|
dependencies should not be added gratuitously. All such crates must
|
||||||
|
have a suitably permissive license. There is an automatic check which
|
||||||
|
inspects the Cargo metadata to ensure this.
|
||||||
|
|
||||||
|
|
@ -9,7 +9,7 @@ To add a new test, the first thing you generally do is to create a
|
||||||
file, typically a Rust source file. Test files have a particular
|
file, typically a Rust source file. Test files have a particular
|
||||||
structure:
|
structure:
|
||||||
|
|
||||||
- They always begin with the copyright notice;
|
- They always begin with the [copyright notice](../conventions.html#copyright);
|
||||||
- then they should have some kind of
|
- then they should have some kind of
|
||||||
[comment explaining what the test is about](#explanatory_comment);
|
[comment explaining what the test is about](#explanatory_comment);
|
||||||
- next, they can have one or more [header commands](#header_commands), which are special
|
- next, they can have one or more [header commands](#header_commands), which are special
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue