aboutsummaryrefslogtreecommitdiff
path: root/build.rs
diff options
context:
space:
mode:
authorJorge Aparicio <japaricious@gmail.com>2017-04-19 17:21:13 -0500
committerJorge Aparicio <japaricious@gmail.com>2017-04-19 17:21:13 -0500
commit4e6818eb2cd396dde39f05bd85628326b0492fe9 (patch)
tree9277315d815c92160ebe05a6589d29838bd6f3d4 /build.rs
parent0827c40a265adc4ffc143e96ecb5627618b2f68e (diff)
remove claim, add Priority.as_ceiling
Diffstat (limited to 'build.rs')
-rw-r--r--build.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/build.rs b/build.rs
index aae9f89..3fcb695 100644
--- a/build.rs
+++ b/build.rs
@@ -56,6 +56,7 @@ fn main() {
// Priorities
for i in 1..(1 << bits) + 1 {
+ let c = Ident::new(format!("C{}", i));
let p = Ident::new(format!("P{}", i));
let u = Ident::new(format!("U{}", i));
@@ -64,6 +65,15 @@ fn main() {
/// Priority
pub type #p = P<::typenum::#u>;
+ impl #p {
+ /// Turns this priority into a ceiling
+ pub fn as_ceiling(&self) -> &#c {
+ unsafe {
+ ::core::mem::transmute(self)
+ }
+ }
+ }
+
unsafe impl Priority for #p {}
unsafe impl Level for ::typenum::#u {