diff --git a/posts/2015-02-20-Rust-1.0-alpha2.md b/posts/2015-02-20-Rust-1.0-alpha2.md
index 830bb4b64..26d563997 100644
--- a/posts/2015-02-20-Rust-1.0-alpha2.md
+++ b/posts/2015-02-20-Rust-1.0-alpha2.md
@@ -8,7 +8,7 @@ description: "Rust 1.0.0.alpha.2 has been released."
Today, we are happy to announce the release of Rust 1.0.0.alpha.2! Rust is a
systems programming language pursuing the trifecta: safe, fast, and concurrent.
-In accordance with our [status report](/2015/02/13/Final-1.0-timeline.html)
+In accordance with our [status report](../../../2015/02/13/Final-1.0-timeline.html)
last week, this is a second alpha release, rather than a first beta release.
The beta release will be six weeks from today, with the final coming six weeks
after that.
@@ -17,7 +17,7 @@ We’ve managed to land almost all of the features previously expected for this
cycle. **The big headline here is that all major API revisions are finished**:
path and IO reform have landed. At this point, all modules shipping for 1.0 are
in what we expect to be their final form, modulo minor tweaks during the alpha2
-cycle. See the [previous post](/2015/02/13/Final-1.0-timeline.html) for more
+cycle. See the [previous post](../../../2015/02/13/Final-1.0-timeline.html) for more
details.
This coming release cycle is crucial to Rust, as this will be the last cycle
diff --git a/posts/2016-04-19-MIR.md b/posts/2016-04-19-MIR.md
index f8af3a6ae..168c31823 100644
--- a/posts/2016-04-19-MIR.md
+++ b/posts/2016-04-19-MIR.md
@@ -606,14 +606,14 @@ interested in contributing, look for
[nagisa]: https://github.com/nagisa/
[eddyb]: https://github.com/eddyb/
-[cfg-img]: /images/2016-04-MIR/cfg.svg
-[drop-unwind]: /images/2016-04-MIR/drop-unwind.svg
-[drop]: /images/2016-04-MIR/drop.svg
-[flow]: /images/2016-04-MIR/flow.svg
-[loop-break]: /images/2016-04-MIR/loop-break.svg
-[nzd-flags]: /images/2016-04-MIR/nzd-flags.svg
-[nzd]: /images/2016-04-MIR/nzd.svg
-[send_if2-flags]: /images/2016-04-MIR/send_if2-flags.svg
-[send_if2-opt]: /images/2016-04-MIR/send_if2-opt.svg
-[send_if2]: /images/2016-04-MIR/send_if2.svg
+[cfg-img]: ../../../images/2016-04-MIR/cfg.svg
+[drop-unwind]: ../../../images/2016-04-MIR/drop-unwind.svg
+[drop]: ../../../images/2016-04-MIR/drop.svg
+[flow]: ../../../images/2016-04-MIR/flow.svg
+[loop-break]: ../../../images/2016-04-MIR/loop-break.svg
+[nzd-flags]: ../../../images/2016-04-MIR/nzd-flags.svg
+[nzd]: ../../../images/2016-04-MIR/nzd.svg
+[send_if2-flags]: ../../../images/2016-04-MIR/send_if2-flags.svg
+[send_if2-opt]: ../../../images/2016-04-MIR/send_if2-opt.svg
+[send_if2]: ../../../images/2016-04-MIR/send_if2.svg
[alt]: https://github.com/rust-lang/rfcs/blob/master/text/1211-mir.md#alternatives
diff --git a/posts/2016-05-16-rust-at-one-year.md b/posts/2016-05-16-rust-at-one-year.md
index d182378fd..e60294e38 100644
--- a/posts/2016-05-16-rust-at-one-year.md
+++ b/posts/2016-05-16-rust-at-one-year.md
@@ -20,7 +20,7 @@ having fun doing it.
And yesterday, Rust turned one year old.
-
+
### Rust in numbers
diff --git a/posts/2016-06-30-State-of-Rust-Survey-2016.md b/posts/2016-06-30-State-of-Rust-Survey-2016.md
index a9c25e6e4..79b40da01 100644
--- a/posts/2016-06-30-State-of-Rust-Survey-2016.md
+++ b/posts/2016-06-30-State-of-Rust-Survey-2016.md
@@ -159,17 +159,17 @@ And we couldn't agree more. One of the best things about working in Rust is tha
We'd love to hear your comments and invite you to jump in and participate in the upcoming discussions on ways we can tackle the challenges brought up in this survey.
-[do-you-use-rust]: /images/2016-06-Survey/do_you_use_rust.png
-[time-using-rust]: /images/2016-06-Survey/time_using_rust.png
-[versions-of-rust]: /images/2016-06-Survey/versions_of_rust.png
-[after_1_0_broke_code]: /images/2016-06-Survey/after_1_0_broke_code.png
-[easy_to_fix]: /images/2016-06-Survey/easy_to_fix.png
-[like_cargo]: /images/2016-06-Survey/like_cargo.png
-[rust_at_work]: /images/2016-06-Survey/rust_at_work.png
-[part_time]: /images/2016-06-Survey/part_time.png
-[full_time]: /images/2016-06-Survey/full_time.png
-[rust_at_work_future]: /images/2016-06-Survey/rust_at_work_future.png
-[demo_areas]: /images/2016-06-Survey/demo_areas.png
-[meetup_locations]: /images/2016-06-Survey/meetup_locations.png
-[what_languages]: /images/2016-06-Survey/what_language.png
-[underrepresented]: /images/2016-06-Survey/underrepresented.png
+[do-you-use-rust]: ../../../images/2016-06-Survey/do_you_use_rust.png
+[time-using-rust]: ../../../images/2016-06-Survey/time_using_rust.png
+[versions-of-rust]: ../../../images/2016-06-Survey/versions_of_rust.png
+[after_1_0_broke_code]: ../../../images/2016-06-Survey/after_1_0_broke_code.png
+[easy_to_fix]: ../../../images/2016-06-Survey/easy_to_fix.png
+[like_cargo]: ../../../images/2016-06-Survey/like_cargo.png
+[rust_at_work]: ../../../images/2016-06-Survey/rust_at_work.png
+[part_time]: ../../../images/2016-06-Survey/part_time.png
+[full_time]: ../../../images/2016-06-Survey/full_time.png
+[rust_at_work_future]: ../../../images/2016-06-Survey/rust_at_work_future.png
+[demo_areas]: ../../../images/2016-06-Survey/demo_areas.png
+[meetup_locations]: ../../../images/2016-06-Survey/meetup_locations.png
+[what_languages]: ../../../images/2016-06-Survey/what_language.png
+[underrepresented]: ../../../images/2016-06-Survey/underrepresented.png
diff --git a/posts/2016-08-10-Shape-of-errors-to-come.md b/posts/2016-08-10-Shape-of-errors-to-come.md
index 7ef50a842..b758dfc80 100644
--- a/posts/2016-08-10-Shape-of-errors-to-come.md
+++ b/posts/2016-08-10-Shape-of-errors-to-come.md
@@ -31,7 +31,7 @@ The problem though is that it takes a few seconds to look at the message, orient
the critical pieces. This time loss adds up. What if, instead, we cleared away everything that slows
down how you read the error message?
-
+
This is the new error format. It's designed around the fundamental observation that
errors should **focus on the code you wrote**. By doing so, you can much more easily see the context
@@ -182,10 +182,10 @@ improve the learning curve bit by bit, and we're looking forward to seeing how f
-[old_errors]: /images/2016-08-09-Errors/old_errors.png
-[new_errors]: /images/2016-08-09-Errors/new_errors.png
-[new_errors2]: /images/2016-08-09-Errors/new_errors2.png
-[new_errors3]: /images/2016-08-09-Errors/new_errors3.png
-[new_errors4]: /images/2016-08-09-Errors/new_errors4.png
+[old_errors]: ../../../images/2016-08-09-Errors/old_errors.png
+[new_errors]: ../../../images/2016-08-09-Errors/new_errors.png
+[new_errors2]: ../../../images/2016-08-09-Errors/new_errors2.png
+[new_errors3]: ../../../images/2016-08-09-Errors/new_errors3.png
+[new_errors4]: ../../../images/2016-08-09-Errors/new_errors4.png
[Dybuk]: https://github.com/ticki/dybuk
[Elm]: https://elm-lang.org/blog/compiler-errors-for-humans
diff --git a/posts/2016-09-08-incremental.md b/posts/2016-09-08-incremental.md
index 41c489739..a8002ef9d 100644
--- a/posts/2016-09-08-incremental.md
+++ b/posts/2016-09-08-incremental.md
@@ -471,17 +471,17 @@ or ask around in the [#rustc channel on IRC][rustc-irc].
[incr-comp-rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1298-incremental-compilation.md
[compiling]: https://xkcd.com/303/
[up-to-or-more]: https://xkcd.com/870/
-[algebra-initial]: /images/2016-08-Incremental/algebra-initial.svg
-[algebra-update]: /images/2016-08-Incremental/algebra-update.svg
-[algebra-dep-graph]: /images/2016-08-Incremental/algebra-dep-graph.svg
-[algebra-dep-graph-dag]: /images/2016-08-Incremental/algebra-dep-graph-dag.svg
-[compiler-phases]: /images/2016-08-Incremental/compiler-phases.svg
-[compiler-dep-graph]: /images/2016-08-Incremental/compiler-dep-graph.svg
-[compiler-cache-purge]: /images/2016-08-Incremental/compiler-cache-purge.svg
-[compiler-phases-cost]: /images/2016-08-Incremental/compiler-phases-cost.svg
+[algebra-initial]: ../../../images/2016-08-Incremental/algebra-initial.svg
+[algebra-update]: ../../../images/2016-08-Incremental/algebra-update.svg
+[algebra-dep-graph]: ../../../images/2016-08-Incremental/algebra-dep-graph.svg
+[algebra-dep-graph-dag]: ../../../images/2016-08-Incremental/algebra-dep-graph-dag.svg
+[compiler-phases]: ../../../images/2016-08-Incremental/compiler-phases.svg
+[compiler-dep-graph]: ../../../images/2016-08-Incremental/compiler-dep-graph.svg
+[compiler-cache-purge]: ../../../images/2016-08-Incremental/compiler-cache-purge.svg
+[compiler-phases-cost]: ../../../images/2016-08-Incremental/compiler-phases-cost.svg
[cargo-incremental]: https://github.com/nikomatsakis/cargo-incremental
-[performance-full-re-use]: /images/2016-08-Incremental/perf-full-re-use.svg
-[performance-changes]: /images/2016-08-Incremental/perf-changes.svg
+[performance-full-re-use]: ../../../images/2016-08-Incremental/perf-full-re-use.svg
+[performance-changes]: ../../../images/2016-08-Incremental/perf-changes.svg
[regex]: https://github.com/rust-lang-nursery/regex
[futures]: https://github.com/alexcrichton/futures-rs
[syntex]: https://github.com/serde-rs/syntex/tree/master/syntex_syntax
diff --git a/posts/2016-09-29-Rust-1.12.md b/posts/2016-09-29-Rust-1.12.md
index e22968199..99490aa1c 100644
--- a/posts/2016-09-29-Rust-1.12.md
+++ b/posts/2016-09-29-Rust-1.12.md
@@ -29,7 +29,7 @@ a result of the effort of many hours of [volunteer effort] to design, test, and
update every one of `rustc`s errors to the new format. We're excited to see
what you think of them:
-
+
The largest internal change in this release is moving to a new compiler backend
based on the new Rust [MIR]. While this feature does not result in anything
@@ -52,7 +52,7 @@ For example, in 1.11 if a implementation of a trait didn't match the trait
declaration, you would see an error like the one below:

+error](../../../images/2016-09-Rust-1.12/old-mismatched-trait-error.png)
In the new error format we represent the error by instead showing the points in
the code that matter the most. Here is the relevant line in the trait
@@ -60,7 +60,7 @@ declaration, and the relevant line in the implementation, using labels to
describe why they don't match:

+error](../../../images/2016-09-Rust-1.12/mismatched-trait-error.png)
Initially, this error design was built to aid in understanding borrow-checking
errors, but we found, as with the error above, the format can be broadly
diff --git a/posts/2016-11-10-Rust-1.13.md b/posts/2016-11-10-Rust-1.13.md
index ef6a656b7..a92278a03 100644
--- a/posts/2016-11-10-Rust-1.13.md
+++ b/posts/2016-11-10-Rust-1.13.md
@@ -178,7 +178,7 @@ appear to be some big reductions, which are quantified on the corresponding
-
+
diff --git a/posts/2017-05-15-rust-at-two-years.md b/posts/2017-05-15-rust-at-two-years.md
index d4a8c3922..b63a5c95a 100644
--- a/posts/2017-05-15-rust-at-two-years.md
+++ b/posts/2017-05-15-rust-at-two-years.md
@@ -15,7 +15,7 @@ It's been two years since Rust 1.0 was released. Happy second birthday, Rust!
*Rustaceans at RustFest Berlin, September 2016. Picture by Fiona Castiñeira*
-[group-pic]: /images/2017-05-Second-Birthday/rustfest-berlin.jpeg
+[group-pic]: ../../../images/2017-05-Second-Birthday/rustfest-berlin.jpeg
Over these two years, we have demonstrated stability without stagnation,
maintaining backwards compatibility with version 1.0 while also making many
@@ -240,7 +240,7 @@ Try out incremental compilation on nightly Rust with
[incrcomp]: https://internals.rust-lang.org/t/incremental-compilation-beta/4721
[roadmap-4]: https://github.com/rust-lang/rust-roadmap/issues/4
-[incrcomp-svg]: /images/2017-05-Second-Birthday/incremental-compilation.svg
+[incrcomp-svg]: ../../../images/2017-05-Second-Birthday/incremental-compilation.svg
We've also made some progress on the time it takes to do a full compilation. On
average, compile times have improved by 5-10% in the last year, but some
diff --git a/posts/2017-06-27-Increasing-Rusts-Reach.md b/posts/2017-06-27-Increasing-Rusts-Reach.md
index 55b13f01d..5464d2ec9 100644
--- a/posts/2017-06-27-Increasing-Rusts-Reach.md
+++ b/posts/2017-06-27-Increasing-Rusts-Reach.md
@@ -4,7 +4,7 @@ title: "Increasing Rust’s Reach"
author: Carol Nichols
---
-**EDIT: We've heard that Google Forms is not easily accessible in all countries; if that applies to you, please find the [application's questions in this text file](/images/2017-06-Increasing-Rusts-Reach/application.txt) and send the answers via email to carol.nichols@gmail.com.**
+**EDIT: We've heard that Google Forms is not easily accessible in all countries; if that applies to you, please find the [application's questions in this text file](../../../images/2017-06-Increasing-Rusts-Reach/application.txt) and send the answers via email to carol.nichols@gmail.com.**
One of [Rust's 2017 goals](https://blog.rust-lang.org/2017/02/06/roadmap.html) is to make it easier
to become productive in Rust by reducing its learning curve. We believe Rust has potential as an
@@ -84,7 +84,7 @@ Who should apply for this project:
- Interest in improving usability of developer-facing documentation and tools
- Interest in learning in detail about Rust syntax and semantics
-
+
*About Nick Cameron: I'm a Rust core team member and lead the dev-tools team. I work on a bunch of
tools including Rustdoc, Rustfmt, the Rust Language Server, and the Rust compiler. I want to make
@@ -92,7 +92,7 @@ Rust developer tools awesome, and user experience is a key part of that. I want
world (or at least the programming world), and we can't do that without making the Rust language
and community more accessible to more people.*
-
+
*About Steve Klabnik: I used to work on Ruby on Rails before Rust, and one of the reasons why I love
Rust is that as a project, we're committed to helping people learn Rust as their first low-level
@@ -127,7 +127,7 @@ Who should apply for this project:
- Interest in improving the new Rust developer experience
- Interest in learning how to improve and create lints
-
+
*About Manish Goregaokar: I'm a research engineer at Mozilla working on Servo. I care a lot about
improving workflows and tooling, especially around the newcomer experience.*
@@ -154,7 +154,7 @@ Who should apply for this project:
- Interest in improving approachability of Rust
- Interest in investigating the motivations behind visitors to the main website and/or crates.io
-
+
*About Aaron Turon: I'm a Rust core team member, manage the Mozilla Rust team, and currently lead
the library, infrastructure, and Cargo teams. On the technical side, I'm most driven by language
@@ -181,7 +181,7 @@ Who should apply for this project:
- Background or interest in creating visual teaching tools like diagrams or drawings a plus
- Interest in learning Rust concepts and teaching what you learn to others
-
+
*About Niko Matsakis: I'm a member of the Rust core team as well as the Rust language and compiler
teams. I focus mainly on the design and implementation of the language itself. I want to do what I
@@ -205,7 +205,7 @@ Who should apply for this project:
- Experience using a web framework written in some other language
- Interest in learning how to write web applications in Rust and teaching what you learn to others
-
+
*About Sean Griffin: In addition to my Rust work, I am one of the maintainers of Ruby on Rails. One
of the great things about Rails (and web development) is that it has really helped to lower the
@@ -235,7 +235,7 @@ Who should apply for this project:
- Background in writing, teaching, or documentation
- Interest in, and opinions about, improving tools for creating and displaying code documentation
-
+
*About Felix Klock: I'm the main developer of tango (as well as a member of the Rust compiler and
language teams). I actively use tango for authoring my presentation slides about Rust. I
@@ -267,7 +267,7 @@ Who should apply for this project:
- Interest in learning how to translate an application to Rust
- Interest in researching and documenting features that libraries have or don’t have
-
+
*About Andrew Gallant: I'm a member of the Rust library team that works with Rust in my free time. I
am very interested in information retrieval, fast text search and generally improving Rust's
@@ -293,7 +293,7 @@ Who should apply for this project:
- Interest in learning how to write or translate a CLI program to Rust
- Interest in researching and documenting features that libraries have or don’t have
-
+
*About Kamal Marhubi: I've been writing Rust for about a year and a half. I help maintain nix, a
library that gives a Rusty interface to unix systems APIs. I've also contributed to rustfmt, rustup,
diff --git a/posts/2017-09-05-Rust-2017-Survey-Results.md b/posts/2017-09-05-Rust-2017-Survey-Results.md
index a08bb601f..a27ead0a3 100644
--- a/posts/2017-09-05-Rust-2017-Survey-Results.md
+++ b/posts/2017-09-05-Rust-2017-Survey-Results.md
@@ -10,7 +10,7 @@ This year we had **5,368 responses**. *That's over 2,000 more responses than we
The scale of the feedback was both inspiring and humbling, and we've worked hard to read through all of your comments and suggestions. There were so many helpful ideas and experiences that people shared, and we truly do appreciate it. Without further ado, let's take a look.
-
+
Just as we saw last year, 2/3rds of responses are from Rust users and the remainder from non-users. This year, we separated out the "don't use Rust" to capture those who used Rust and stopped from those who never used Rust. It's inspiring to see so many developers wanting to help us make Rust better (even if they don't use it!) so that it can reach even more people.
@@ -18,27 +18,27 @@ We'll talk more about Rust non-users later in this report, but first let's look
# Using Rust
-
+
*(hover for more info)*
This year, we're seeing a growing amount of experienced users sticking with Rust, with the "more than a year" users growing to over 42% (up from 30% from last year). The beginners are also an impressively large set, with the "less than a month" crowd at just about 18%, meaning we're currently attracting nearly a 1/5th of our user base size, even as it grows larger, every month.
-
+
*(hover for more info)*
People are working with ever-larger amounts of Rust, with medium- and large-scale lines of code totals both nearly doubling since last year as a percentage of the whole, now making up 16% of respondents (up from last year's 8.9%). This shows a growing interest in using Rust in ever-larger projects, and a growing need for tools to support this growth.
-
+
Despite the rising amount of code developers are working with, we're seeing a small downtick in both daily and weekly users. Daily users have fallen from 19% to 17.5%, and weekly users have fallen from 48.8% to 43.3%. This could be a natural transition in this stage of our growth, as a broader range of developers begin using Rust.
# Path to Stability
-
+
In the last year, we made big strides in breakages caused by releases of the compiler. Last year, 16.2% of respondents said that upgrading to a new stable Rust compiler broke their code. This year, that number has **fallen to 7.5% of respondents**. This is a huge improvement, and one we're proud of, though we'll continue working to push this down even further.
-
+
Developers have largely opted to move to nightly or a recent stable (with some on beta), showing that developers are eager to upgrade and do so quickly. This simplifies the support structure a bit from last year, where developers were on a wider range of versions.
@@ -46,44 +46,44 @@ Stable users now make up 77.9% of Rust users. Unfortunately, despite our efforts
# How we use Rust
-
+
*(hover for more info)*
One of the big success stories with Rust tooling was rustup, the Rust toolchain installer. Last year, we saw a wide diversity in ways people were installing Rust. This year, many of these have moved to using rustup as their main way of installing Rust, totalling now 3,205 of the responses, which moves it from last year's 52.8% to **90.2%**.
-
+
Linux still features prominently as one of the main platforms Rust developers choose. Of note, we also saw a rise in the use of Windows as a developer platform at 1,130 of the 3,588 total respondents, putting it at **31.5% of respondents**, up from 27.6% of last year.
-
+
Next, we asked what platforms people were targeting with their Rust projects. While we see a similar representation of desktop OSes here, we also see a growing range of other targets. Android and iOS are at healthy 9.9% and 5.3% respectively, both almost **10x larger** than last year's percentages. Embedded also has had substantial growth since last year's single-digit percentage. As a whole, cross-compilation has grown considerably since this time last year.
-
+
Among editors, vim remains king, though we see healthy growth in VSCode adoption at 34.1% (up from last year's 3.8%). This growth no doubt has been helped by VSCode being one of the first platforms to get support for the [Rust Language Server](https://github.com/rust-lang-nursery/rls).
-
+
*(hover for more info)*
Rust in the workplace has also continued to grow. This year's **4.4% full-time** and **16.6% part-time** Rust workers show a tick up from last year's 3.7% full-time and 16.1% part-time.
-
+
Users who use Rust **part-time** in their companies showed a growth in larger projects since last year, with the medium- and large-scale projects taking up more percentage of total projects this time around.
-
+
Likewise, **full-time** Rust commercial users saw medium- and large-scale projects grow to taking a larger part of the pie, with projects over 100,000 lines of code making up almost 18% of the all full-time commercial respondents, and a large shift in the 10,000-100,000 lines range from 39.7% up to **52.6%**.
# Feeling Welcome
-
+
*(hover for more info)*
An important piece of the Rust community is to be one that is welcoming to new users, whether they are current users or potential users in the future. We're pleased to see that over 3/4th of all respondents said they feel welcome in the Rust community, with 23.6% not sure.
-
+
The demographics of respondents stayed about the same year over year. Diversity and inclusiveness continue to be vital goals for the Rust project at all levels. The [Rust Bridge](https://github.com/rust-community/rustbridge/) initiative aims for diversity at the entry level. The [Rust Reach](https://blog.rust-lang.org/2017/06/27/Increasing-Rusts-Reach.html) project, launched this year, brings in a wide range of expertise from people underrepresented in the Rust world, and pairs them with Rust team members to make Rust more accessible to a wider audience.
@@ -91,7 +91,7 @@ The demographics of respondents stayed about the same year over year. Diversity
New this year, we separated out the people who had stopped using Rust from those who had never used Rust to better understand why they stopped. Let's take a look first at when they stopped.
-
+
*(hover for more info)*
The first surprise we had here was how long people gave Rust a try before they stopped. Our initial hunch was that people would give up using Rust in the first day, or possibly the first week, if it didn't suit them or their project. Instead, what we see is that people tried Rust for a much longer time on average than that.
@@ -106,7 +106,7 @@ Themes from people who stopped using Rust:
# Not using Rust
-
+
While the learning curve and language complexity still played a role in preventing people from picking up Rust, one aspect that resonated with many people is that there just simply aren't enough active commercial projects in Rust for people to be a part of. For some, they could surmount the learning curve if there was strong incentive to do so.
diff --git a/posts/2017-12-21-rust-in-2017.md b/posts/2017-12-21-rust-in-2017.md
index c01f4d267..9afdf315d 100644
--- a/posts/2017-12-21-rust-in-2017.md
+++ b/posts/2017-12-21-rust-in-2017.md
@@ -32,7 +32,7 @@ There’s not room in a single post to cover everything that happened, but we’
- You can see how incremental recompilation performs in practice on some of our key benchmarks below. Note that `-opt` refers to optimized builds, “best case” refers to a recompilation with no changes, and `println` refers to a recompilation with a small change, like adding a `println` call to a function body. We expect the 50+% speedups we’re seeing now to continue to grow next year as we push incremental recompilation more deeply through the compiler.
- Together with the changes in the compiler we will also update Cargo to use incremental recompilation by default for select use cases, so you can take advantage of improved compile times without the need for additional configuration. Of course you will also be able to opt into and out of the feature on a case by case basis as you see fit.
-
+
## Rust should provide a solid, but basic IDE experience
diff --git a/posts/2018-05-15-Rust-turns-three.md b/posts/2018-05-15-Rust-turns-three.md
index 478c904ea..ce09cbe46 100644
--- a/posts/2018-05-15-Rust-turns-three.md
+++ b/posts/2018-05-15-Rust-turns-three.md
@@ -38,7 +38,7 @@ production [here](https://www.rust-lang.org/en-US/whitepapers.html).)
![Graphs of Rust team growth][team]
-[team]: /images/2018-05-Third-Birthday/team.png
+[team]: ../../../images/2018-05-Third-Birthday/team.png
Finally, the Rust community continues to work on inclusivity, through outreach
programs like [Rust Reach](https://blog.rust-lang.org/2018/04/02/Increasing-Rusts-Reach-2018.html) and
diff --git a/posts/2018-10-25-Rust-1.30.0.md b/posts/2018-10-25-Rust-1.30.0.md
index bc0055ece..f62083c82 100644
--- a/posts/2018-10-25-Rust-1.30.0.md
+++ b/posts/2018-10-25-Rust-1.30.0.md
@@ -370,7 +370,7 @@ See the [detailed release notes][notes] for more.
The largest feature of Cargo in this release is that we now [have a progress
bar!](https://github.com/rust-lang/cargo/pull/5995/)
-
+
See the [detailed release notes][notes] for more.
diff --git a/posts/2018-11-27-Rust-survey-2018.md b/posts/2018-11-27-Rust-survey-2018.md
index 029fc875f..484a33ed8 100644
--- a/posts/2018-11-27-Rust-survey-2018.md
+++ b/posts/2018-11-27-Rust-survey-2018.md
@@ -6,7 +6,7 @@ author: The Rust Survey Team
Another year means another Rust survey, and this year marks Rust's third annual survey. This year, the survey launched for the first time in multiple languages. In total **14** languages, in addition to English, were covered. The results from non-English languages totalled *25% of all responses* and helped pushed the number of responses to a new record of **5991 responses**. Before we begin the analysis, we just want to give a big "thank you!" to all the people who took the time to respond and give us your thoughts. It’s because of your help that Rust will continue to improve year after year.
-
+
Despite having an increase in the number of responses, this year also saw an increase in the percentage of Rust users. Up from last year’s 66.9% Rust users, this year nearly three-quarters of responses were from Rust users.
@@ -14,93 +14,93 @@ Despite having an increase in the number of responses, this year also saw an inc
## **Time with Rust**
-
+
We’re seeing a steady stream of new users into Rust. At the time of the survey, ~23% of Rust users had been using it for 3 months or less. Likewise, nearly a quarter of the users have used Rust for at least 2 years.
-
+
Over 40% of Rust users felt productive in Rust in less than a month of use, and over 70% felt productive in their first year. Unfortunately, there is a noticeable struggle among users, as over 22% do not yet feel productive.
-
+
Looking closer at these users who feel unproductive in Rust, only about 25% are in their first month of use. The challenge here is to find ways to help bridge users to productivity so they don't get stuck.
## **How much do you use Rust?**
-
+
Rust projects are continuing to trend to larger sizes, with larger overall investments. Medium to large investments in Rust (those totally over 10k and 100k lines of code respectively) have grown from 8.9% in 2016, to 16% in 2017, to **23%** this year.
-
+
We’ve also seen a growth in Rust regular usage. Up from 17.5% last year, Rust daily usage is now nearly a quarter of users. In total, Rust weekly total usage has risen from 60.8% to 66.4%.
## **Rust expertise**
-
+
Rather than being a simple curve, Rust expertise has two peaks: one around a "3", and another at "7", showing that users tend to see themselves as just above beginner or experienced without necessarily being expert.
-
+
Rust users generally felt that Enums and Cargo were largely easy concepts; followed by Iterators, Modules, and Traits. More challenging concepts of Trait Bounds and Unsafe came next. Lastly, the most challenging concepts were Macros, Ownership & Borrowing, and Lifetimes. These challenges match closely to feedback we’ve heard in years past and continue to be a focus of continued productivity improvements like NLL and the continued macro system improvements.
-
+
Humorously, we see that Rust isn't actually the top programming language that users were familiar with. Instead, it pulled in a 2nd place behind Python.
## **Rust toolchain**
-
+
We’re seeing similar numbers in users of the current stable release since last year. Perhaps surprisingly, we’re continuing to see a rise in the number of users who use the Nightly compiler in their workflow. For the second year in a row, Nightly usage has continued to rise, and is now over 56% (up from 51.6% of last year).
When asked why they used nightly, people responded with a broad range of reasons including: access to 2018 edition, asm, async/await, clippy, embedded development, rocket, NLL, proc macros, and wasm.
-
+
The percentage of people who see a breakage during a routine compiler update has stayed the same since last year, with 7.4% saying they’ve experienced breakage.
-
+
Breakages generally leaned to requiring minor fixes, though some reported having moderate or major fixes to upgrade to the next stable compiler.
-
+
We again see a strong showing for `rustup`, which continues to hold at 90% of Rust installs. Linux distros follow as a distant second at 17%.
-
+
Tools like `rustfmt` and `rustdoc` had a strong show, with lots of positive support. Following these is the `clippy` tool -- despite having fewer users, its users enjoy the tool. The IDE support tools `Rust Language Server` and `racer` had positive support but unfortunately, of the tools surveyed, generated a few more dislike votes and comments. The `bindgen` tool has relatively small userbase.
## **Rust workflow**
-
+
Linux continues to be a powerhouse among Rust developers, holding on to roughly 80% of Rust developers. Windows usage has grown slightly from 31% last year to 34% this year, its second year in a row of growth.
-
+
Linux and Windows continued to show strongly as targets for Rust applications. Other platforms held largely the same as last year, with one exception: WebAssembly. The new technology has showed impressive growth, nearly doubling from last year's 13% to this year's 24%.
-
+
Vim, the front-runner in editors for two years has now finally been bested by VSCode, which grew from 33.8% of Rust developers to 44.4% this year.
## **Rust at work**
-
+
Rust continues is slow-and-steady growth in the workplace. We're now seeing year-over-year growth of full-time and part-time Rust, growing from last year's 4.4% full-time and 16.6% part-time to this year's **8.9% full-time** and **21.2% part-time**, a doubling of full-time Rust commercial use. In total, Rust commercial use grew from 21% to just over 30% of Rust users.
-
+
There is more room for Rust to grow into more companies, over a third of which users report aren't currently looking into evaluating Rust in the coming year. When paired with the survey data that said that nearly half of non-users needed the company support, this shows the need for further company outreach or more company-focused information about Rust.
## **Feeling welcome**
-
+
An important part of the Rust community efforts are ensuring that the Rust project is a welcoming place for its users. New users should feel encouraged to explore, share ideas, and generally be themselves.
@@ -108,7 +108,7 @@ When asked, both current Rust users and non-users largely felt welcome, though o
There's a challenge here to help Rust communities worldwide feel like they are part of what makes Rust unique, as Rust continues to grow a strong presence in more areas of the world.
-
+
The number of people in Rust who self-identify as being part of a group underrepresented in technology is growing slowly year-over-year. The survey also highlights some challenges, as the number of women is still lower than the industry average of women in programming fields.
@@ -116,11 +116,11 @@ The number of people in Rust who self-identify as being part of a group underrep
A big part of a welcoming Rust community is reaching out to non-users as well. As we have in years past, we again asked the reasons why people weren't using Rust.
-
+
For those who stopped using Rust, just over 50% stopped using Rust in less than a month. Likewise, roughly 50% of people who left Rust managed to use it for more than a month before stopping.
-
+
Many non-users responded that they did want to learn Rust, but there were factors that slowed them down. First among these is that the companies the responders work for do not themselves use Rust. Nearly one half of the non-users were blocked by the lack of company support.
diff --git a/posts/2018-11-29-a-new-look-for-rust-lang-org.md b/posts/2018-11-29-a-new-look-for-rust-lang-org.md
index f1f86d95d..3f6f0a4ee 100644
--- a/posts/2018-11-29-a-new-look-for-rust-lang-org.md
+++ b/posts/2018-11-29-a-new-look-for-rust-lang-org.md
@@ -9,15 +9,15 @@ basis. By contrast, the website has looked pretty much the same. Here’s the
first version of rust-lang.org, seven years ago (courtesy of [the WayBack
Machine](https://web.archive.org/)):
-
+
In 2014, three years later:
-
+
If you visit today, you'll see this:
-
+
Over time, we’ve grown to love it. It’s simple. Minimal. Familiar.
@@ -27,7 +27,7 @@ But we can always do better. For example, the website suffers from what we
call “the fireflower problem.” First formulated by [Kathy
Sierra](http://seriouspony.com/), and made into an image by Samuel Hulick:
-
+
We want Mario to use Rust, the fireflower, and turn into the ever-awesome
Fire Mario. But there’s a corollary here: it’s better to say “we will make
@@ -69,7 +69,7 @@ nice.
Today, we’d like to announce a beta of the new rust-lang.org. If you go to
, you’ll see this:
-
+
Its fresh visual design gives us a lot more flexibility in how we get
information across. It retains the minimalist spirit of the old site, while
diff --git a/posts/2019-10-03-inside-rust-blog.md b/posts/2019-10-03-inside-rust-blog.md
index 677e0a7de..11e6a46fd 100644
--- a/posts/2019-10-03-inside-rust-blog.md
+++ b/posts/2019-10-03-inside-rust-blog.md
@@ -10,5 +10,5 @@ updates by the various Rust teams and working groups. If you're
interested in following along with the "nitty gritty" of Rust
development, then you should take a look!
-[irb]: /inside-rust/index.html
+[irb]: ../../../inside-rust/index.html
diff --git a/posts/2020-04-17-Rust-survey-2019.md b/posts/2020-04-17-Rust-survey-2019.md
index ab1a061ad..4b08c06d7 100644
--- a/posts/2020-04-17-Rust-survey-2019.md
+++ b/posts/2020-04-17-Rust-survey-2019.md
@@ -41,25 +41,25 @@ In December 2018 we released the Rust 2018 edition - Rust 1.31.0. In the 2019 su
Next, we asked users to rate the improvement of key aspects of the Rust language.
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Overall, many aspects of the Rust language were perceived as "somewhat better" in the 2018 edition.
@@ -90,31 +90,31 @@ These issues are definitely ones we want to address in 2020 and beyond.
## Who is using Rust and what for?
-
+
Rust daily usage has trended slightly upward at 27.63% (it was just under 25% last year and 17.5% on 2017). Daily or weekly usage has also continued to trend slightly upward. This year it was 68.52%, last year it was 66.4%, and in 2017 it was 60.8%.
-
+
We also asked users how they would rate their Rust expertise - there is a clear peak around "7".
-
+
To dig deeper into this, we correlated users' self-rated Rust expertise with how long they had been using Rust.
-
+
For some larger context, we examined what titles users working with Rust full time tend to have in their organization (survey respondents could select more than one).
By far the most common title for a Rust user is, unsurprisingly, Programmer/Software Engineer.
-
+
To get even more context, we asked Rust survey respondents to identify what industry they work in.
For users who use Rust full time, the most common industry by far is backend web applications.
-
+
The majority of Rust projects (43%) are 1,000-10,000 lines of code. Rust projects of medium to large size (those totaling over 10k lines of code) continue to trend higher. They have grown from 8.9% in 2016, to 16% in 2017, to 23% in 2018, to **34%** in 2019.
@@ -122,25 +122,25 @@ The majority of Rust projects (43%) are 1,000-10,000 lines of code. Rust project
A big part of a welcoming Rust community is reaching out to non-users as well.
-
+
When we asked why someone had stopped using Rust, the most common response was "My company doesn't use Rust" - which indicates Rust adoption is still the biggest reason. After that, learning curve, lack of needed libraries, being slowed down by switching to Rust, and lack of IDE support were the most common reasons a user stopped using Rust.
-
+
For users who indicated they had never used Rust before, most indicated either "I haven't learned Rust yet, but I want to" or "My company doesn't use Rust" - again pointing to adoption as the main hurdle.
For more context, we also examined what title non-Rust users feel best matches their role.
-
+
Like with Rust users, by far the most common title is Programmer/Software Engineer.
-
+
Also like with Rust users, the most common industry by far is backend web applications.
-
+
We also asked users what would lead them to use Rust more often. Most indicated they would use Rust more if their company adopted it, if Rust had more libraries that they need, and if IDE support was better. The most common reasons after those pointed to a need to improve the learning curve and interoperability.
@@ -150,7 +150,7 @@ As adoption seemed to be the biggest problem preventing some respondents from us
First, we asked what would we could do to improve adoption of Rust.
-
+
Several users gave specific examples:
* "Smoothest learning curve as possible, as a small business even 4-6 weeks to become productive is a lot to ask"
@@ -183,7 +183,7 @@ When we asked users what libraries they consider critical to the Rust ecosystem,
* hyper
* lazy_static
-
+
We also asked how many dependencies users were using were 1.0 or above.
* 0.8% indicated "All"
@@ -196,7 +196,7 @@ We also asked how many dependencies users were using were 1.0 or above.
IDE support for Rust was also cited as a barrier to adoption.
-
+
When we asked users what editors they use, Vim and VSCode were the most popular by far, followed by Intellij.
@@ -207,7 +207,7 @@ We also asked what IDE setups users used:
* 12.4% indicated No (or CTAGS)
* 4.2% indicated Only Racer
-
+
As for platforms that users develop on - Linux and Windows continue to dominate.
* 55% of Rust users develop on Linux
@@ -229,11 +229,11 @@ Surprisingly, the number of users using the Nightly compiler in their workflow i
Rust is well known for its significant learning curve.
-
+
About 37% of Rust users felt productive in Rust in less than a month of use - this is not too different from the percentage last year (40%). Over 70% felt productive in their first year. Unfortunately, like last year, there is still a struggle among users - 21% indicated they did not yet feel productive.
-
+
As a point of interest, we took the subset of users who don't feel productive yet and plotted their ratings of their Rust expertise. This indicates that people who don't feel productive had low to intermediate levels of expertise - which are the groups that need the most support from our learning materials, documentation, and more.
@@ -241,11 +241,11 @@ As a point of interest, we took the subset of users who don't feel productive ye
Over the years some users have expressed a desire for Rust to be more interoperable with other languages.
-
+
When we asked users what languages they would want to be interoperable with Rust, there was a wide spread of answers, but C dominates, followed (somewhat surprisingly) by R, which is followed very closely behind by C++. It should be noted that respondents were able to select more than one language in response to this question - these percentages are based on total responses.
-
+
When it comes to what platforms using are targeting for their applications Linux remains the first choice with 36.9%, with Windows as second at 16.3%. Following close behind Windows are macOS and Web Assembly at 14% each. We are also seeing more users targeting Android and Apple iOS.
diff --git a/posts/2020-05-15-five-years-of-rust.md b/posts/2020-05-15-five-years-of-rust.md
index f0dd03f44..5bee1b162 100644
--- a/posts/2020-05-15-five-years-of-rust.md
+++ b/posts/2020-05-15-five-years-of-rust.md
@@ -393,12 +393,12 @@ To learn more, run the command again with --verbose.
![A terminal screenshot of the 1.43.0 error message.][borrow-error-1.43.0]
-[borrow-error-1.2.0]: /images/2020-05-15-five-years-of-rust/borrow-error-1.2.0.png
-[borrow-error-1.43.0]: /images/2020-05-15-five-years-of-rust/borrow-error-1.43.0.png
-[help-error-1.2.0]: /images/2020-05-15-five-years-of-rust/help-error-1.2.0.png
-[help-error-1.43.0]: /images/2020-05-15-five-years-of-rust/help-error-1.43.0.png
-[trait-error-1.2.0]: /images/2020-05-15-five-years-of-rust/trait-error-1.2.0.png
-[trait-error-1.43.0]: /images/2020-05-15-five-years-of-rust/trait-error-1.43.0.png
+[borrow-error-1.2.0]: ../../../images/2020-05-15-five-years-of-rust/borrow-error-1.2.0.png
+[borrow-error-1.43.0]: ../../../images/2020-05-15-five-years-of-rust/borrow-error-1.43.0.png
+[help-error-1.2.0]: ../../../images/2020-05-15-five-years-of-rust/help-error-1.2.0.png
+[help-error-1.43.0]: ../../../images/2020-05-15-five-years-of-rust/help-error-1.43.0.png
+[trait-error-1.2.0]: ../../../images/2020-05-15-five-years-of-rust/trait-error-1.2.0.png
+[trait-error-1.43.0]: ../../../images/2020-05-15-five-years-of-rust/trait-error-1.43.0.png
## Quotes from the teams
Of course we can't cover every change that has happened. So we reached out and
diff --git a/posts/2020-12-16-rust-survey-2020.md b/posts/2020-12-16-rust-survey-2020.md
index e44cab2c2..fbfae1a27 100644
--- a/posts/2020-12-16-rust-survey-2020.md
+++ b/posts/2020-12-16-rust-survey-2020.md
@@ -42,7 +42,7 @@ First, we’d like to make a shout out to the [rust-analyzer] and [IntelliJ Rust
In addition to improvements in the IDE experience, the number of users who are relying on a nightly compiler at least part of the time continues to drop - down to 28% compared with last year’s 30.5% with only 8.7% of respondents saying they use nightly exclusively. When asked why people are using nightly the largest reason was to use the Rocket web framework which has announced [it will work on the stable version of Rust in its next release][rocket-announcement]. The next largest reason for nightly was const generics, but with [a minimal version of const generics reaching stable][min-const-generics], we should see less of a reliance on nightly for this feature.
-
+
It’s worth noting that a decent percentage of users who use nightly do so out of habit because “nightly is stable enough”. When asked what broke people’s code most often, by far the largest answer was the introduction of new warnings to a code base where warnings break the build (which is not part of Rust’s stability guarantee though Rust is designed so that adding new warnings never breaks your dependencies). Since we rely on nightly testing to catch regressions, this is a very good sign: nightly is stable enough to be useful while still allowing for continual changes. A shout-out to the Rust infrastructure, compiler, and libs teams for doing such a good job of ensuring that what lands in the nightly compiler is already fairly stable!
@@ -50,13 +50,13 @@ It’s worth noting that a decent percentage of users who use nightly do so out
Rust continues to make inroads as a language used for production with roughly 40% of respondents that work in software noting that they use Rust at their day job. Additionally, the future of Rust on the job is bright with nearly half of those who knew saying that their employer planned to hire Rust developers in the next year.
-
+
The seemingly largest change in those using Rust seems to be students with a much larger percentage (~15% vs ~11% last year) of the respondents answering that they don’t use Rust at work because they’re students or software hobbyists and therefore don’t have a job in software.
Additionally, the use of Rust at respondents' workplaces seems to be getting bigger with 44% of respondents saying that the amount of Rust at work was 10,000 lines of code or more compared to 34% last year.
-
+
## Improving Rust
@@ -66,7 +66,7 @@ While Rust usage seems to be growing at a healthy pace, the results of the surve
Interestingly, C++ was the most requested language for better interop with Rust, with C and Python in second and third place. Improved C++ interop was especially often mentioned as a way to improve Rust usage specifically at work. In fact, for users who work on large codebases (100,000 lines of code or larger), C++ interop and — unsurprisingly — compile times were the most cited ways to improve their Rust experience.
-
+
### Improved Learnability
@@ -74,17 +74,17 @@ When asked how to improve adoption of Rust, many cited making Rust easier to lea
When we asked respondents to rate their expertise in Rust, there was a clear peak at 7 out of 10. It’s hard to say how this compares across languages but it seems notable that relatively few are willing to claim full expertise. However, when compared with last year, the Rust community does seem to be gaining expertise in the language.
-
+
We also asked about the difficulty of specific topics. The most difficult topic to learn according to survey results is somewhat unsurprisingly lifetime management with 61.4% of respondents saying that the use of lifetimes is either tricky or very difficult.
-
+
It does seem that having C++ knowledge helps with 20.2% of respondents with at least some C++ experience noting lifetimes to be “very difficult” while 22.2% of those without C++ knowledge found the topic to be “very difficult”. Overall, systems programming knowledge (defined as at least some experience in C and C++), tends to make for more confident Rust users: those with systems programming experience rated themselves as 5.5 out of 10 on their Rust expertise, while those with experience in statically typed garbage collected languages like Java or C# rated themselves as 4.9 out of 10. Those with only experience in dynamically typed languages like Ruby or JavaScript rated themselves as 4.8 out of 10.
Unsurprisingly, the more often people use Rust, the more they feel they are experts in the language with 56.3% of those who use Rust daily ranking themselves as 7 or more out of 10 on how much of an expert they are on Rust compared with 22% of those who use Rust monthly.
-
+
### Compile Times
diff --git a/posts/2021-05-10-Rust-1.52.1.md b/posts/2021-05-10-Rust-1.52.1.md
index e6568bf4b..5298d6c22 100644
--- a/posts/2021-05-10-Rust-1.52.1.md
+++ b/posts/2021-05-10-Rust-1.52.1.md
@@ -121,7 +121,7 @@ done under the assumption that the new verification would ship in 1.53, not
It turns out `verify-ich` was turned on in version 1.52.0, which was [released recently][].
-[released recently]: /2021/05/06/Rust-1.52.0.html
+[released recently]: ../../../2021/05/06/Rust-1.52.0.html
Today's new release, 1.52.1, works around the breakage caused by the newly added
verification by temporarily changing the defaults in the Rust compiler to disable
diff --git a/posts/2021-06-17-Rust-1.53.0.md b/posts/2021-06-17-Rust-1.53.0.md
index 0b6c46599..b198a9a1c 100644
--- a/posts/2021-06-17-Rust-1.53.0.md
+++ b/posts/2021-06-17-Rust-1.53.0.md
@@ -118,7 +118,7 @@ from a repository where the default branch is called `main`.
### Incremental Compilation remains off by default
-As previously discussed on the [blog post for version 1.52.1](/2021/05/10/Rust-1.52.1.html), incremental compilation has been turned off by default on the stable Rust release channel. The feature remains available on the beta and nightly release channels. For the 1.53.0 stable release, the method for reenabling incremental is unchanged from 1.52.1.
+As previously discussed on the [blog post for version 1.52.1](../../../2021/05/10/Rust-1.52.1.html), incremental compilation has been turned off by default on the stable Rust release channel. The feature remains available on the beta and nightly release channels. For the 1.53.0 stable release, the method for reenabling incremental is unchanged from 1.52.1.
### Stabilized APIs
diff --git a/posts/2021-08-03-GATs-stabilization-push.md b/posts/2021-08-03-GATs-stabilization-push.md
index 142130c6e..c640af4db 100644
--- a/posts/2021-08-03-GATs-stabilization-push.md
+++ b/posts/2021-08-03-GATs-stabilization-push.md
@@ -10,7 +10,7 @@ team: the Traits Working Group