newport_engine 0.2.0

Core runnable library for the Newport engine
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::Builder;

/// Modules are an easy way to have global immutable state
pub trait Module: Sized + 'static {
	/// Creates a module and returns as result. This is the initialization point for Modules
	fn new() -> Self;

	/// Takes a builder to append on other modules or elements
	///
	/// # Arguments
	///
	/// * `builder` - A [`Builder`] used to add dep modules or functions
	fn depends_on(builder: Builder) -> Builder {
		builder
	}
}