Example usage:
fn main() {
let x = {
#[cfg(debug_assertions)]
5
#[cfg(not(debug_asserttions))]
3
};
println!("{x}");
}
or
let debug_utils = {
#[cfg(validation)]
Some({
let debug_utils_info = vk::DebugUtilsMessengerCreateInfoEXT::default()
.message_severity(
vk::DebugUtilsMessageSeverityFlagsEXT::ERROR
| vk::DebugUtilsMessageSeverityFlagsEXT::WARNING
| vk::DebugUtilsMessageSeverityFlagsEXT::INFO,
)
.message_type(
vk::DebugUtilsMessageTypeFlagsEXT::GENERAL
| vk::DebugUtilsMessageTypeFlagsEXT::PERFORMANCE
| vk::DebugUtilsMessageTypeFlagsEXT::VALIDATION,
);
let debug_loader = ash::extensions::ext::DebugUtils::new(&entry, &instance);
unsafe {
debug_loader
.create_debug_utils_messenger(&debug_utils_info, None)
.unwrap()
}
})
#[cfg(not(validation))]
None
};
Currently it gives an error:
error: expected `;`, found `#`
--> src/main.rs:4:10
|
4 | 5
| ^ help: add `;` here
5 |
6 | #[cfg(not(debug_asserttions))]
| - unexpected token
error[E0308]: mismatched types
--> src/main.rs:4:9
|
4 | 5
| ^ expected `()`, found integer
For more information about this error, try `rustc --explain E0308`.
error: could not compile `playground` due to 2 previous errors
error: expected `;`, found `#`
--> src\engine\backend\mod.rs:77:15
|
77 | })
| ^ help: add `;` here
78 |
79 | #[cfg(not(validation))]
| - unexpected token
error: could not compile `vulkan_learning` due to previous error