[rust-dev] Student projects

Brian Anderson banderson at mozilla.com
Tue Aug 21 12:55:44 PDT 2012

On 08/21/2012 05:40 AM, David Rajchenbach-Teller wrote:
> 	Dear Rusties,
>   As mentioned a few months ago, I would like to suggest some
> Rust-related project topics to a few Master-level students. I have no
> clear idea of their actual level of motivation and skill (this is the
> first year we work with this department), but it would be great if we
> could have a few non-critical projects to offer them.
> So, any libraries that need some loving? Any refactorings required to
> the code?

Here are some ideas. Servo is probably a fertile area for contributing 
to Rust since there are seemingly so many things that will eventually be 
needed, but so far we've not been successful at enumerating them.

Core Rust stuff:

* Move bindgen into the rust repo and implement a bindgen pass
   (automatically generate C bindings). Involves some unsavory hacking
   on the build system.
* Extract the metadata module from rustc and use it to implement type
   safe dynamic library loading.
* Convert shape code (logging, cycle collection) to visitor code.
   Probably not fun.
* Get rustc working with the LLVM MC-JIT, with the intent of
   implementing a REPL. Several people have poked at this without making
   much progress
* Improve the performance of #fmt. Could involve creating a string

Servo-related things:

* PNG, JPG decoders - servo is using native code currently.
* Add an LRU-SP cache - https://github.com/mozilla/servo/issues/51
* HTTP client - Servo has very basic HTTP handling. Needs to be improved
   with correct handling of various responses, etc. Basically, implement
   the spec. https://github.com/brson/rust-http-client

Libraries (not all are appropriate for std):

* A general SQL interface with bindings for a few popular DBs.
* An ORM framework - these are popular and useful
* An actor library that encapsulates the actor pattern into something
   principles. Take inspiration from Scala actors.

More information about the Rust-dev mailing list