Skip to content

An example of splitting Rust crates for GSoC 2018.

Notifications You must be signed in to change notification settings

jdm/gsoc2018-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project is a Cargo workspace set up as follows:

  • app/ is a Rust application that depends on the middle and base crates
  • middle/ is a Rust crate that depends on the base crate
  • base/ is a Rust crate that has no dependencies
  • Cargo.toml declares all of the members of the workspace.

Any time we make a change to a file in base/, this causes the middle and app crates to be rebuilt. We want to make a new base-api crate that contains as little code as possible, and make middle depend on base-api instead of base. You will want to use Rust features like traits with associated types and generic types in order to accomplish this. Our goal is to avoid rebuilding the middle crate whenever we make a change to a file in base/.

To build the project, run cargo build from the root directory. Run cargo test and cargo run from the app/ directory.

About

An example of splitting Rust crates for GSoC 2018.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages