Skip to content
This repository has been archived by the owner on Sep 30, 2020. It is now read-only.

New doc, contribution, and FAQ pages #244

Merged
merged 104 commits into from
Jan 14, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
9d80dad
Added FAQ
Sep 1, 2015
abc63c5
Copied over documentation page from doc tree and edited roughly
Oct 13, 2015
b017350
Added two temporary files that hold links from rust depo to old docum…
Oct 13, 2015
8d9b230
Deleted links_nightly and links_stable and added links
Oct 13, 2015
d1c7f0c
Completed first draft of documentation.md
Oct 13, 2015
bea69ad
Updated FAQ
Oct 22, 2015
596d92c
Cleanup
Oct 22, 2015
a532931
Corrections
Oct 23, 2015
b782659
Updated FAQ based on Diggsey's suggestions
Oct 24, 2015
e94751d
Addressing feedback
Nov 6, 2015
9646f3f
More corrections
Nov 15, 2015
756a5d2
Added answer for Rust versioning
Nov 15, 2015
2aad0da
Add another answer
Nov 15, 2015
a3c9d13
Mobile style improvements
Nov 15, 2015
5f458fb
Removed copyright notice
Nov 18, 2015
5c1409b
Removed list of companies using Rust
Nov 18, 2015
5a66ed8
Some additional cleanup and review
Nov 18, 2015
dbd997b
Organized sections
Nov 18, 2015
57f72c5
Simplified CSS
Nov 18, 2015
d718d7c
Updating answers
Nov 20, 2015
57f62ac
Addressed latest round of feedback
Dec 16, 2015
fabd2ba
Take a pass over the whole FAQ
brson Dec 20, 2015
8b3265f
Fix alignment of operator table in FAQ
brson Dec 20, 2015
c5b06de
Added contribution page
Oct 17, 2015
8fb7d95
Added "Getting Started" to contribution.md
Oct 28, 2015
47ba377
Various changes to contributions.html
brson Nov 2, 2015
0eb30fa
Add contributing to navbar
brson Nov 3, 2015
def9c2a
Massively expand the contributing page
brson Nov 3, 2015
87c9ee0
Link the developers to the github contribution page, not AUTHORS.txt
brson Dec 2, 2015
5d372c8
Address feedback on contributing page
brson Dec 4, 2015
c9c8f02
Add *~ to .gitignore
brson Dec 22, 2015
1bb607f
Break contribution page into subpages
brson Dec 22, 2015
f52d087
Merge remote-tracking branch 'origin/master'
brson Dec 23, 2015
893021c
Overhaul documentation page
brson Dec 23, 2015
6bfb9a6
Restructure the navbar to contain just four major links
brson Dec 23, 2015
78b4d27
Rename 'Rust Community' to 'The Rust Community'
brson Dec 23, 2015
dc0774d
Merge pull request #1 from brson/faq
AndrewBrinker Jan 3, 2016
0ef5d23
Fixed typos
Jan 3, 2016
9da71ec
Updated answer about higher-kinded type support
Jan 3, 2016
20c365f
Clarified answer on Ord/PartialOrd and Eq/PartialEq split
Jan 3, 2016
095d45c
Updated borrow checker answer
Jan 3, 2016
7721973
Typo fixes
Jan 3, 2016
435b1de
Addressed charlotteis' suggestions
Jan 3, 2016
601a473
Small fixes
Jan 3, 2016
ef9715a
Changed to 4-space indent in code samples
Jan 3, 2016
79f1c1f
Few tweaks
brson Jan 4, 2016
123c803
Updated based on tshepang's latest feedback
Jan 4, 2016
1c3a038
More corrections based on tshepang's feedback
Jan 4, 2016
3425bdd
Integrated latest feedback from tshepang
Jan 4, 2016
e723015
Add a policies section to documentation page
brson Jan 5, 2016
75f6cd8
Merge remote-tracking branch 'brson/contributions'
brson Jan 5, 2016
60b7e48
Merge remote-tracking branch 'AndrewBrinker/faq'
brson Jan 5, 2016
0e9bc58
Unify faq style with rest of site
brson Jan 5, 2016
c374cbb
First pass with new feedback
Jan 7, 2016
7ba7f3d
New draft of the higher-kinded types answer
Jan 8, 2016
e7bab64
Partial addition of API doc links
Jan 8, 2016
1594ab3
Fixed based on feedback from pnkfelix
Jan 8, 2016
ffb11a7
Small correction
Jan 8, 2016
ea304ed
Updated based on latest feedback
Jan 9, 2016
8e490bb
Updated ord/eq answers
Jan 9, 2016
6705771
Updated borrow checker answer
Jan 9, 2016
6b75c04
Updated lifetime elision answer
Jan 9, 2016
c4e41f0
Fixed typo
Jan 9, 2016
898dd0f
Added links to API docs
Jan 9, 2016
be4e7eb
Add the syntax index
brson Jan 12, 2016
3512ebd
Fix some links in FAQ
brson Jan 12, 2016
713c3cf
Merge remote-tracking branch 'brson/contributions'
brson Jan 12, 2016
1b3a41e
Merge remote-tracking branch 'brson/docs'
brson Jan 12, 2016
9dc2922
Merge remote-tracking branch 'brson/faq-style'
brson Jan 12, 2016
b505008
Use 2px border-top everywhere instead of 2px/4px
brson Jan 12, 2016
dd97f0f
Add anchors for all faqs
brson Jan 12, 2016
1e9659b
Changes to Performance section of FAQ.
aturon Jan 13, 2016
65ef9eb
Changes to Syntax section of FAQ
aturon Jan 13, 2016
b007719
Changes to Numerics section of FAQ
aturon Jan 13, 2016
2ae6a62
Changes to Strings section of FAQ
aturon Jan 13, 2016
6834f06
Changes to Collections section of FAQ
aturon Jan 13, 2016
7d870a8
Changes to Ownership section of FAQ
aturon Jan 13, 2016
bc6a918
Changes to Lifetimes section of FAQ
aturon Jan 13, 2016
8f4fcd5
Changes to Generics section of FAQ
aturon Jan 13, 2016
04f3a42
Changes to Error Handling section of FAQ
aturon Jan 13, 2016
2773905
Changes to Debugging section of FAQ
aturon Jan 13, 2016
16502ed
Changes to Modules/Crates section of FAQ
aturon Jan 13, 2016
fd8056b
Move StackOverflow question in FAQ
aturon Jan 13, 2016
f8d6fac
Comment out "Why no inheritance" question for now
aturon Jan 13, 2016
29c6f12
Nits from Gabor
aturon Jan 13, 2016
5228903
Update entry about copy constructors
nikomatsakis Jan 13, 2016
5e0771a
Tweak wording when comparing with go
nikomatsakis Jan 13, 2016
ded567f
Rewrite the section on C++11 references
nikomatsakis Jan 13, 2016
6b39558
Note that C++ does not have a stable ABI
nikomatsakis Jan 13, 2016
6ae99cf
Some context seemed to be missing from question on HTTP
nikomatsakis Jan 13, 2016
3c379b3
Try to better clarify difference between `mod` and `use`
nikomatsakis Jan 13, 2016
6fb2247
Edit lifetime answer
nikomatsakis Jan 13, 2016
cc6ec7b
Rework entry on deref coercions
nikomatsakis Jan 13, 2016
113b39c
Rework GC answer to mention potential upcoming work
nikomatsakis Jan 13, 2016
0de4408
brson's nits
aturon Jan 14, 2016
031673a
Merge pull request #2 from aturon/faq-tweaks
brson Jan 14, 2016
c360ae2
Merge remote-tracking branch 'nikomatsakis/faq'
brson Jan 14, 2016
1a56bff
Don't imply that exhaustive match is the whole refactoring story
brson Jan 14, 2016
2a5ae99
Use HTML for faq headers to create valid markup
brson Jan 14, 2016
13bddcf
Move the rust project faqs to the top of the faq
brson Jan 14, 2016
86ac451
Rename Debugging faq section to 'Debugging and Tooling'. Fill it out.
brson Jan 14, 2016
07d5363
Changes to Project section of FAQ
aturon Jan 14, 2016
4d7e991
Change faq contributing link to contribute.html
brson Jan 14, 2016
f3261af
Merge pull request #4 from aturon/faq-tweaks-2
brson Jan 14, 2016
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
_site
Gemfile.lock
serve/
*~
2 changes: 2 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
name: The Rust Programming Language
markdown: redcarpet
redcarpet:
extensions: ["tables"]
48 changes: 48 additions & 0 deletions _layouts/basic.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<!DOCTYPE html>
<!-- Page last generated {{ site.time }} -->
<html lang="en">
<head>
<meta charset="utf-8">
<title>{{ page.title }}</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="keywords" content="Rust, Rust programming language, rustlang, rust-lang, Mozilla Rust">
<meta name="description" content="A systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.">

<link rel="stylesheet" href="/css/bootstrap.css">
<link rel="stylesheet" href="/css/style.css">
</head>

<body class="container">
<a href="https://github.com/rust-lang/rust">
<img class="ribbon" style="display: none" src="/logos/forkme.png" alt="Fork me on GitHub" width="298" height="298">
</a>

<header>

<ul class="row menu">
<li class="col-xs-12 col-md-2">
<a href="index.html">
<img class="img-responsive" src="logos/rust-logo-blk.svg" onerror="this.src='logos/rust-logo-256x256-blk.png'" height="128" width="128" alt="Rust logo" />
</a>
</li>
<li class="col-xs-12 col-md-10 menu">
<h2><a href="documentation.html">Documentation</a></h2>
<h2><a href="community.html">Community</a></h2>
<h2><a href="downloads.html">Downloads</a></h2>
<h2><a href="contribute.html">Contribute</a></h2>
</li>
</ul>
</header>
{{ content }}
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-58390457-1', 'auto');
ga('send', 'pageview');

</script>
</body>
</html>
78 changes: 6 additions & 72 deletions _layouts/default.html
Original file line number Diff line number Diff line change
@@ -1,73 +1,7 @@
<!DOCTYPE html>
<!-- Page last generated {{ site.time }} -->
<html lang="en">
<head>
<meta charset="utf-8">
<title>{{ page.title }}</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="keywords" content="Rust, Rust programming language, rustlang, rust-lang, Mozilla Rust">
<meta name="description" content="A systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.">
<link rel="stylesheet" href="/css/bootstrap.css">
<link rel="stylesheet" href="/css/style.css">
</head>
---
layout: basic
---

<body class="container">
<a href="https://github.com/rust-lang/rust">
<img class="ribbon" style="display: none" src="/logos/forkme.png" alt="Fork me on GitHub" width="298" height="298">
</a>

<header>

<ul class="row menu">
<li class="col-xs-12 col-md-2">
<a href="index.html">
<img class="img-responsive" src="logos/rust-logo-blk.svg" onerror="this.src='logos/rust-logo-256x256-blk.png'" height="128" width="128" alt="Rust logo" />
</a>
</li>
<li class="col-xs-4 col-md-2"><h2>Docs (1.5.0)</h2>
<ul>
<li><a href="https://doc.rust-lang.org/stable/book/">Book</a></li>
<li><a href="https://doc.rust-lang.org/stable/reference.html">Reference</a></li>
<li>
<a href="https://doc.rust-lang.org/stable/std/">API docs</a></li>
<li><a href="https://doc.rust-lang.org/stable/">All docs</a>
</li>
</ul>
</li>
<li class="col-xs-4 col-md-2"><h2>Docs (Nightly)</h2>
<ul>
<li><a href="https://doc.rust-lang.org/nightly/book/">Book</a></li>
<li><a href="https://doc.rust-lang.org/nightly/reference.html">Reference</a></li>
<li>
<a href="https://doc.rust-lang.org/nightly/std/index.html">API docs</a></li>
<li><a href="https://doc.rust-lang.org/nightly/index.html">All docs</a>
</li>
</ul>
</li>
<li class="col-xs-4 col-md-2"><h2>Resources</h2>
<ul>
<li>
<a href="community.html">Community</a>
</li>
<li>
<a href="legal.html">Legal</a>
</li>
<li>
<a href="security.html">Security</a>
</li>
</ul>
</li>
</header>
{{ content }}
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-58390457-1', 'auto');
ga('send', 'pageview');

</script>
</body>
</html>
<div class="content">
{{ content }}
</div>
10 changes: 10 additions & 0 deletions _layouts/faq.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
layout: default
---

<link href='https://fonts.googleapis.com/css?family=Source+Serif+Pro:400,600' rel='stylesheet' type='text/css'>

<div class="faq">
{{ content }}
</div>

12 changes: 6 additions & 6 deletions community.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
layout: default
title: Rust Community &middot; The Rust Programming Language
title: The Rust Community &middot; The Rust Programming Language
---

# Rust Community
# The Rust Community

Rust is an amazing programming language, but its greatest strength
is its kind and inclusive community.
Expand Down Expand Up @@ -129,6 +129,7 @@ socialize with other people with a similar interest. Meetings are
usually held monthly and very informal. Meetings are open to everyone.

There is a global [calendar][calendar] for keeping up with Rust events.
Contact the [community team][community_team] to add your own.

[user_group]: ./user_groups.html
[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc@group.calendar.google.com
Expand Down Expand Up @@ -179,12 +180,11 @@ help get you started.
[community_team]: https://www.rust-lang.org/team.html#Community
[mod_team]: https://www.rust-lang.org/team.html#Moderation

<a name="rust-development"></a>
## Rust Development

Rust has had over [1,200 different contributors][authors], a number that grows
every single week. We'd love for you to join that list! If you aren't sure what
to work on or how to get started, take a look at our
[how to contribute][contribute] page.
every single week. [We'd love for you to join that list][contribute]!

As mentioned above, the [Rust Internals Forum][internals_forum] is dedicated to
discussing the design and implementation of Rust. A lot of discussion also
Expand All @@ -203,7 +203,7 @@ team business, including the progression of proposals through the RFC and
implementation process.

[authors]: https://github.com/rust-lang/rust/blob/master/AUTHORS.txt
[contribute]: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md
[contribute]: contribute.html
[github]: https://github.com/rust-lang/rust
[rfcs]: https://github.com/rust-lang/rfcs
[team_reports]: https://github.com/rust-lang/subteams
Expand Down
63 changes: 63 additions & 0 deletions contribute-bugs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
layout: default
title: Contributing to Rust &mdash; finding, triaging and fixing issues &middot; The Rust Programming Language
---

# Contributing to Rust &mdash; finding, triaging and fixing issues

The day-to-day maintenance of the project revolves around Rust's
[issue tracker] and [pull requests][PR], and more help is always
needed. The most basic way to get started contributing to Rust is to
look for the [E-easy] or [E-mentor] labels. These are meant to be
approachable for new Rust programmers.

On `E-mentor` issues an experienced Rust developer has volunteered in
the comments to mentor you through solving the issue and [submitting
the fix via GitHub pull request][pull]. Contact them about the issue,
on the issue tracker by [@mentioning] their name in a comment, on IRC,
or through email. Note that Rust developers get a lot of notifications
and it is easy to miss some; don't hesitate to hunt them down by
whatever means necessary!

Other projects in Rust maintain similar entry-level tasks, including
the web browser [Servo], the HTTP library [hyper], the
source-formatter [rustfmt], and the lint collection [clippy].

While Rust has an [extensive test suite][test] there is always more to
test. The [E-needstest] label indicates issues that are thought to be
fixed but don't have tests. Writing test cases is a great way to
understand a new project and get started contributing.

Rust is always in need of people to [triage] issues: reproduce bugs,
minimize test cases, apply labels, close resolved issues. Note that
you'll need elevated GitHub permissions to apply labels, but this is
easy to obtain for somebody with a bit of experience in the
project. Ask a [team member][team].

Once you've found your way around the project and have created a few
pull requests in a particular area, consider reviewing others' pull
requests: good reviewership is a rare skill and always appreciated. No
prior permission is needed &mdash; just start constructively and politely
commenting on pull requests that interest you. If you want training
on conducting good code reviews [read this guide][reviews].

<!--
TODO: weekly triage email?
TODO: @nrc says suggesting everybody review w/o training is bad
-->

[@mentioning]: https://github.com/blog/821
[E-easy]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy
[E-mentor]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy+label%3AE-mentor
[E-needstest]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-needstest
[PR]: https://github.com/rust-lang/rust/pulls
[Servo]: https://github.com/servo/servo
[clippy]: https://github.com/Manishearth/rust-clippy
[hyper]: https://github.com/hyperium/hyper
[issue tracker]: https://github.com/rust-lang/rust/issues
[pull]: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#pull-requests
[reviews]: http://blog.originate.com/blog/2014/09/29/effective-code-reviews/
[rustfmt]: https://github.com/nrc/rustfmt
[team]: team.html
[test]: https://github.com/rust-lang/rust-wiki-backup/blob/master/Note-testsuite.md
[triage]: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#issue-triage
84 changes: 84 additions & 0 deletions contribute-community.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
layout: default
title: Contributing to Rust &mdash; community building &middot; The Rust Programming Language
---

# Contributing to Rust &mdash; community building

Help newbies, spread the word, meet interesting people. Make Rust the
shining example of open source development that we all want it to be.

Keep an eye on the [#rust-beginners] channel. This is where we direct
new Rust programmers to ask for help, and it is vital when they do
that they receive prompt, accurate, and courteous responses. Likewise,
[Stack Overflow], [users.rust-lang.org], and [/r/rust], are all forums
where Rust programers commonly look for assistance. If you want
training on answering programmers' questions [read this
guide][helpful].

If you are already experienced in some area of the project, please
look out for potential [E-easy] bugs. When you see an
easy issue on the bug tracker that you know how to fix, write up a
description of the fix and tag it with E-easy. Note that what is
obvious to you is not obvious to a new Rust contributor, and its
important to describe the problem and the solution clearly. It is
thus also helpful to triage E-easy bugs for poor descrptions and
improve them.

Experienced developers who are patient and communicate clearly should
consider [mentoring new contributors][mentor]. Tag easy issues with
[E-mentor] and mention in a comment that you will mentor. Expect people
to contact you about the issue, and attempt to respond promptly.

Maintaining entry-level tasks is good not only for The Rust Project
itself but all projects. If your project has a consistent supply of
entry-level tasks you might institute such a program
yourself. ***Curating entry-level tasks is one of the most effective
methods of bringing new programmers into the project***. If you want
training on mentoring new contributors [read this
guide][mentor-guide].

Talk about what you are working on in the weekly "what's everyone
working on this week" threads on [/r/rust] and [users.rust-lang.org],
and indicate what you need help with. These are great starting points
for collaboration.

Advocate Rust in your own local community. Rust [user groups] and [events]
are a unique and exciting part of the Rust experience: there are so
many, and they are everywhere! If you haven't been yet, go and enjoy
new experiences. If there is nothing Rusty going on near you then
consider organizing something. You can poll for interest and announce
events on [/r/rust] or [users.rust-lang.org]. Contact the [community
team] to put events on the calendar, and thus be announced on [This
Week in Rust].

Remember as you are advocating Rust though to be considerate of
others' views &mdash; not everybody is going to be receptive to Rust, and
that's just fine.

Meet other Rust community builders in [#rust-community].

<!--
Other ideas:
TWIR, podcasts.

experience reports
conf talks

Conduct training on Rust. (link to training material).
-->

[#rust-beginners]: https://client00.chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-beginners
[#rust-community]: https://client00.chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-community
[/r/rust]: https://reddit.com/r/rust
[E-easy]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy
[E-mentor]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy+label%3AE-mentor
[Stack Overflow]: http://stackoverflow.com/questions/tagged/rust
[This Week in Rust]: http://www.this-week-in-rust.org
[community team]: https://www.rust-lang.org/team.html#Community
[events]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc@group.calendar.google.com
[helpful]: http://blogs.msmvps.com/jonskeet/2009/02/17/answering-technical-questions-helpfully/
[mentor]: https://users.rust-lang.org/t/mentoring-newcomers-to-the-rust-ecosystem/3088
[mentor-guide]: http://manishearth.github.io/blog/2016/01/03/making-your-open-source-project-newcomer-friendly/
[user groups]: user_groups.html
[users.rust-lang.org]: https://users.rust-lang.org
Loading