Skip to content

CraftSpider/rebound

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rebound

crates.io Documentation MIT/Apache-2 licensed

A powerful, lifetime-safe runtime reflection system for Rust. Heavily WIP, requires nightly

Goals

Rebound aims to provide high-power runtime reflection. This includes two main features:

  • Reflect as much as possible. This means rebound is willing to trade some performance, code size, or simplicity in the name of increased power.
  • Follow Rust's lifetime and memory safety guarantees. As long as you are using the safe API, rebound should never cause segfaults or any other data race.

Features

Rebound currently provides these features:

  • A #[rebound] proc macro, which can be applied to any item rebound supports reflecting
  • Support for these items
    • Structs
    • Enums
    • Unions
    • All three kinds of generics
    • Impl Blocks
  • Support for these things is being worked on / considered
    • Traits
    • Top-level Functions
    • Statics
    • Consts
  • The Value type, an untyped smart pointer with lifetime safety.
  • Reflection of all primitive types, including the ! type
  • Reflection of the core and std builtin libraries, with feature-gates

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Rust Runtime Reflection

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages