# Brson's "someday" list

**URL:** <https://internals.rust-lang.org/t/brsons-someday-list/3948>\
**Category:** Uncategorized\
**Created:** [August 29, 2016, 4:37pm UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948 "2016-08-29T16:37:35Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![brson](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/brson/32/5197_2.png) [@brson](https://internals.rust-lang.org/u/brson)\
**Post date:** [September 19, 2016, 7:43pm UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/21 "2016-09-19T19:43:07Z")

</div>

Updating with:

- fix emscripten unwinding and unimplemented symbols
  - [https://github.com/rust-lang/rust/issues/36514](https://github.com/rust-lang/rust/issues/36514)
  - [https://github.com/rust-lang/rust/issues/36515](https://github.com/rust-lang/rust/issues/36515)

- investigate emscripten patch without fastcomp [https://github.com/rust-lang/rust/issues/36356](https://github.com/rust-lang/rust/issues/36356)
- organize bors-next effort
  - [https://github.com/rust-community/bors](https://github.com/rust-community/bors)
  - [https://github.com/rust-community/team/issues/58](https://github.com/rust-community/team/issues/58)
  - [https://github.com/AelitaBot/aelita](https://github.com/AelitaBot/aelita)
  - [http://github.com/servo/homu](http://github.com/servo/homu)
  - @ locks, @ booya, @ notriddle, @ aLi, @ frewsxcv, @ Manishearth

- follow up on bitcode issue [https://github.com/rust-lang/rust/issues/35968](https://github.com/rust-lang/rust/issues/35968)
- write typescript / spidermonkey bindings for tokio

---

<div class="post-metadata">

**Author:** ![brson](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/brson/32/5197_2.png) [@brson](https://internals.rust-lang.org/u/brson)\
**Post date:** [October 13, 2016, 5:36pm UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/22 "2016-10-13T17:36:31Z")

</div>

Updated with:

## high

- investigate aws deployment and bindings in rust
- implement tuf [https://github.com/rust-lang-nursery/rustup.rs/issues/241#issuecomment-253394566](https://github.com/rust-lang-nursery/rustup.rs/issues/241#issuecomment-253394566)
- do 1.13 relnotes
- create beta/nightly testing system for rust projects via travis/appveyor
  - maybe inspired by [https://github.com/ember-cli/ember-try](https://github.com/ember-cli/ember-try)
  - reporting to the mothership
  - create list of projects and help authors deploy it

- continue work on platform abstraction layer
- create rust-wasm showcase site (maybe [http://www.hellorust.com/emscripten/](http://www.hellorust.com/emscripten/))
- write some easy fmt rfcs [https://github.com/rust-lang-nursery/fmt-rfcs/issues?utf8=✓&q=is%3Aopen%20is%3Aissue%20label%3AE-easy](https://github.com/rust-lang-nursery/fmt-rfcs/issues?utf8=%E2%9C%93&q=is%3Aopen%20is%3Aissue%20label%3AE-easy)
- make P-high changes - either introduce release milestones or add P-critical
- loosen bootstrap key logic [https://github.com/rust-lang/rust/issues/36548](https://github.com/rust-lang/rust/issues/36548)

## low

- look at emscripten bug [https://github.com/rust-lang/rust/issues/37130](https://github.com/rust-lang/rust/issues/37130)
- make issue about reducing giant rustc stacks

---

<div class="post-metadata">

**Author:** ![brson](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/brson/32/5197_2.png) [@brson](https://internals.rust-lang.org/u/brson)\
**Post date:** [January 17, 2017, 7:17pm UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/23 "2017-01-17T19:17:36Z")

</div>

Updated op with these. A lot are pretty opaque. Sorry about that.

High:

- write security roadmap
- write release qa checklist
- investigate rustup disk usage during transactions
- change rustup to panic=abort
- write rust packaging guidelines
- get rustup working via powershell one-liner
- add cargo-template quickstart instructions to error-chain docs
- set up static linking for msvc rustc
- fix rustup windows dojob issue (make cargo and rustup use the same dojob code)
- simple crates in need - extract these from rustup/cargo and share
  - copy\_dir
  - remove\_dir\_all
  - dojob
  - flock
  - symlink\_dir
  - homedir

- implement the update framework

Low:

- file issue about cap-lints + macro expansion re [https://github.com/rust-lang/rust/issues/38977](https://github.com/rust-lang/rust/issues/38977)
- fix rust-skeptic resolve bug
- document error-chain backtrace feature
- link rustc statically on windows
- create mostly-Rust userspace from [https://github.com/docker-library/busybox](https://github.com/docker-library/busybox)
- convert FreeRTOS to Rust
- write LAPACK -\> Rust transpiler

---

<div class="post-metadata">

**Author:** ![ehiggs](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/ehiggs/32/3224_2.png) [@ehiggs](https://internals.rust-lang.org/u/ehiggs)\
**Post date:** [January 20, 2017, 9:05am UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/24 "2017-01-20T09:05:27Z")

</div>

> [@brson](#):
>
> add cargo-template quickstart instructions to error-chain docs

What's this one?

---

<div class="post-metadata">

**Author:** ![Nemo157](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/nemo157/32/11585_2.png) [@Nemo157](https://internals.rust-lang.org/u/Nemo157)\
**Post date:** [January 20, 2017, 9:13am UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/25 "2017-01-20T09:13:05Z")

</div>

> **[pwoolcoc/cargo-template](https://github.com/pwoolcoc/cargo-template)**
>
> create cargo projects from existing templates. Contribute to pwoolcoc/cargo-template development by creating an account on GitHub.

> **[rusttemplates/quickstart](https://github.com/rusttemplates/quickstart)**
>
> Quickstart template based on brson's quickstart with error-chain - rusttemplates/quickstart

Sounds like you should be able to just run `cargo template quickstart my-new-project` and get a project setup to use `error-chain`.

---

<div class="post-metadata">

**Author:** ![ehiggs](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/ehiggs/32/3224_2.png) [@ehiggs](https://internals.rust-lang.org/u/ehiggs)\
**Post date:** [January 20, 2017, 11:01am UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/26 "2017-01-20T11:01:54Z")

</div>

Neat. Should it work in conjunction with [this PR for cargo](https://github.com/rust-lang/cargo/pull/3004) or some other way?

---

<div class="post-metadata">

**Author:** ![brson](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/brson/32/5197_2.png) [@brson](https://internals.rust-lang.org/u/brson)\
**Post date:** [January 21, 2017, 7:44am UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/27 "2017-01-21T07:44:49Z")

</div>

> [@ehiggs](#):
>
> Neat. Should it work in conjunction with this PR for cargo

I believe my intent was to make [error-chain/examples/quickstart.rs at master · rust-lang-deprecated/error-chain · GitHub](https://github.com/brson/error-chain/blob/master/examples/quickstart.rs) compatible with [GitHub - pwoolcoc/cargo-template: create cargo projects from existing templates](https://github.com/pwoolcoc/cargo-template), in anticipation of compatibility with your cargo PR in the future.

---

<div class="post-metadata">

**Author:** ![ehiggs](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/ehiggs/32/3224_2.png) [@ehiggs](https://internals.rust-lang.org/u/ehiggs)\
**Post date:** [February 2, 2017, 10:16am UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/28 "2017-02-02T10:16:32Z")

</div>

Templating was merged into Cargo yesterday.

The following project can be used as a quickstart template (I made a PR to use `{{name}}` and `{{author}}` templates:

> **[rusttemplates/quickstart](https://github.com/rusttemplates/quickstart)**
>
> Quickstart template based on brson's quickstart with error-chain - rusttemplates/quickstart

---

<div class="post-metadata">

**Author:** ![brson](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/brson/32/5197_2.png) [@brson](https://internals.rust-lang.org/u/brson)\
**Post date:** [February 8, 2017, 2:18am UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/29 "2017-02-08T02:18:22Z")

</div>

Thanks @ehiggs!

---

<div class="post-metadata">

**Author:** ![brson](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/brson/32/5197_2.png) [@brson](https://internals.rust-lang.org/u/brson)\
**Post date:** [February 8, 2017, 2:21am UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/30 "2017-02-08T02:21:27Z")

</div>

@ehiggs What is the cargo command to instantiate the error-chain quickstart.rs directly from the error-chain repo ([error-chain/examples/quickstart.rs at master · rust-lang-deprecated/error-chain · GitHub](https://github.com/brson/error-chain/blob/master/examples/quickstart.rs))? I'd like the error-chain docs to say something like

> To get started run:

```rust
$ cargo template whatever

```

(Obviously fill in with the correct syntax)

---

<div class="post-metadata">

**Author:** ![ehiggs](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/ehiggs/32/3224_2.png) [@ehiggs](https://internals.rust-lang.org/u/ehiggs)\
**Post date:** [February 8, 2017, 2:57pm UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/31 "2017-02-08T14:57:57Z")

</div>

`$ cargo new --template https://github.com/rusttemplates/quickstart whatever`

Currently there is a bug in that particular template where the name and author aren’t actually templated but I have a [PR to fix it](https://github.com/rusttemplates/quickstart/pull/1).

---

<div class="post-metadata">

**Author:** ![brson](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/brson/32/5197_2.png) [@brson](https://internals.rust-lang.org/u/brson)\
**Post date:** [February 23, 2017, 12:37am UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/32 "2017-02-23T00:37:53Z")

</div>

Here’s some commentary about the ‘simple crates’:

16:32 simple crates - there are a number of unbelievably common functions i end up reimplementing a lot 16:32 and poorly 16:33 copy\_dir is just a recursive directory copy. not sure if there’s a good crate for this yet 16:34 sometimes one needs to do a copy but ignoring dotfiles. i open code this with walk\_dir 16:34 but there should be a common copy\_dir that covers most cases and just works 16:34 remove\_dir\_all is broken in std on windows 16:34 so people always reimplement in 16:34 \*it 16:35 while it should be fixed in std, in the meantime somebody should just publish a working version 16:35 dojob is a common routine that cargo, rustbuild and rustup use to create process groups on Windows for killing multiple processes 16:35 but they all implement it diferently and some are missing fixes 16:36 symlink\_dir would be a crate that creates symlinks to directories correctly on windows, using directory junctions 16:37 homedir would be an implementation of std::env::home that uses cargo/rustup’s definition. I consider std incorrect when it considers `HOME` on Windows.

---

<div class="post-metadata">

**Author:** ![brson](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/brson/32/5197_2.png) [@brson](https://internals.rust-lang.org/u/brson)\
**Post date:** [February 28, 2017, 7:37pm UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/33 "2017-02-28T19:37:47Z")

</div>

I’ve updated the list with:

## high

- document interfaces that are not-really stable
- port cargobomb to windows
- add stdx ci testing
- install more things in cargobomb docker container

## low

- run custom shootout server with additional nightly benchmarks
- write hello.exe size test
- switch default rustup to -gnu
- do analysis of servo crash fixes vs firefox crash fixes
- propose proprietary Rust testing service

---

<div class="post-metadata">

**Author:** ![tshepang](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/tshepang/32/179_2.png) [@tshepang](https://internals.rust-lang.org/u/tshepang)\
**Post date:** [February 28, 2017, 9:23pm UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/34 "2017-02-28T21:23:50Z")

</div>

> [@brson](#):
>
> propose proprietary Rust testing service

why proprietary?

---

<div class="post-metadata">

**Author:** ![brson](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/brson/32/5197_2.png) [@brson](https://internals.rust-lang.org/u/brson)\
**Post date:** [March 1, 2017, 10:16pm UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/35 "2017-03-01T22:16:05Z")

</div>

> [@tshepang](#):
>
> why proprietary?

It's not the service itself that is proprietary, but a service for regression testing proprietary Rust projects, to give us visibility into the ecosystem where we are lacking it. It would be a formal structure for setting up NDAs and compensation for running cargobomb and similar future efforts on closed-source projects.

---

<div class="post-metadata">

**Author:** ![tupshin](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/tupshin/32/2573_2.png) [@tupshin](https://internals.rust-lang.org/u/tupshin)\
**Post date:** [March 4, 2017, 7:56pm UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/36 "2017-03-04T19:56:16Z")

</div>

As a once and future (hopefully with rust) "Enterprise Software Developer"™, I think this could go a long way towards reassuring companies that they could rely on rust for their development future.

---

<div class="post-metadata">

**Author:** ![pmatos](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/pmatos/32/1894_2.png) [@pmatos](https://internals.rust-lang.org/u/pmatos)\
**Post date:** [March 28, 2017, 9:05am UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/37 "2017-03-28T09:05:12Z")

</div>

@brson I would like to help with

- weekly compiler-perf report;

What does it actually entail? Hope explaining what it entails doesn’t take as long as actually doing it. 🙂

From the single line, I assume it has to do with measuring performance of the compiler over its development history. Sounds related to continuous integration/testing/benchmarking. Would this use gperf? Which benchmarks would you use to measure this?

---

<div class="post-metadata">

**Author:** ![brson](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/brson/32/5197_2.png) [@brson](https://internals.rust-lang.org/u/brson)\
**Post date:** [April 4, 2017, 1:32am UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/38 "2017-04-04T01:32:13Z")

</div>

@pmatos The main idea is just to get information about the performance of the Rust compiler in front of people on a regular basis, to build a sense of accountability. At the time I would have said to examine [perf.rust-lang.org](http://perf.rust-lang.org) to extract a sensible story about what happened last week, and just write it up in a consistent way, with key metrics. At the moment though perf.rlo is not working…

---

<div class="post-metadata">

**Author:** ![ehiggs](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/ehiggs/32/3224_2.png) [@ehiggs](https://internals.rust-lang.org/u/ehiggs)\
**Post date:** [April 10, 2017, 2:18pm UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/39 "2017-04-10T14:18:51Z")

</div>

Templates was pulled out pending an RFC. The feedback in a [pre-RFC](https://internals.rust-lang.org/t/pre-rfc-cargo-templates/5056) thread suggests that people don’t want it in cargo but would rather an external cargo tool like clippy.

---

<div class="post-metadata">

**Author:** ![brson](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/brson/32/5197_2.png) [@brson](https://internals.rust-lang.org/u/brson)\
**Post date:** [May 10, 2017, 5:43pm UTC](https://internals.rust-lang.org/t/brsons-someday-list/3948/40 "2017-05-10T17:43:37Z")

</div>

I updated the op with the following:

## high

- update platform support page with richer info about which are tested
- teach cargobomb to print rustc version in every run
- fix skeptic linkage issue [https://github.com/brson/rust-skeptic/issues/18](https://github.com/brson/rust-skeptic/issues/18)
- solicit cargobomb help
- upload libz blitz videos to youtube
- create 1.0 crate scoreboard
- conduct research project on structuring projects for contribution

## low

- update basic-http-server to use modern crates
- set up better tracking of regressions - use version-specific tags?
- create a local (non-Send) alloc/collections crate
- [update research papers on the forge](https://gist.github.com/brson/45247b36c02be45a1b8c425f3714d765)
- update rust highlight definitions for benchmark game [http://www.andre-simon.de/doku/highlight/en/highlight.php](http://www.andre-simon.de/doku/highlight/en/highlight.php)

[Previous page](https://internals.rust-lang.org/t/brsons-someday-list/3948.md?page=1)

[Next page](https://internals.rust-lang.org/t/brsons-someday-list/3948.md?page=3)
