Skip to content

Commit

Permalink
Add deprecation note
Browse files Browse the repository at this point in the history
  • Loading branch information
pcwalton committed Oct 24, 2013
1 parent 9304a33 commit 6cf4c3f
Showing 1 changed file with 2 additions and 23 deletions.
25 changes: 2 additions & 23 deletions README.md
@@ -1,24 +1,3 @@
This is a small (under-300-line) stub that you can import into your Rust
projects to create almost completely freestanding Rust programs. The only
dependencies are the following libc functions: `malloc`, `free`, `abort`,
`memcpy`, and `memcmp`. See `hello.rs` for an example of usage.

With a small modification, you could implement syscalls (via inline assembly)
and an allocator yourself to avoid the dependencies on these functions. This
was not done in the interests of simplicity.

Unfortunately, a couple of runtime functions still have to be around, although
they are never called in the resulting programs. They could be stubbed out.
This should be considered a Rust bug.

Garbage collection, tasks, and failure will not work. All the other language
features, including unique pointers, references, and closures *do* work, so
programs such as sprocketnes that do not use garbage collection should be
fine.

The Rust standard library cannot be used in this mode, but splitting out the
Rust standard library into a portion that can be used in freestanding mode
would be an interesting and valuable project (IMO).

As with the rest of Rust, this should not be considered production-ready.
This is *deprecated* and is no longer maintained. It is no longer necessary to use this to achieve
runtime-less operation; just use `#[start]` and/or `#[no_std]` and avoid the runtime.

0 comments on commit 6cf4c3f

Please sign in to comment.