Handle extension-wide deprecatedby/supersededby attributes#1039
Handle extension-wide deprecatedby/supersededby attributes#1039MarijnS95 wants to merge 1 commit into
deprecatedby/supersededby attributes#1039Conversation
After deciding to back out of marking individual commands and types as `#[deprecated]` because superseding functionality is unlikely to be widely available yet, there are however niche or vendor-specific extensions that have been replaced by more common EXT/KHR extensions or even stabilized features. These would benefit from nudging the user towards the newer and/or cross-platform functionality which is more likely to be prevalent.
|
Semi-draft because:
|
| #[deprecated = "Deprecated by "] | ||
| pub const NV_GLSL_SHADER_NAME: &CStr = | ||
| unsafe { CStr::from_bytes_with_nul_unchecked(b"VK_NV_glsl_shader\0") }; | ||
| #[deprecated = "Deprecated by "] |
There was a problem hiding this comment.
Something not right here and just above.
e: oh, yeah, you noticed too
|
vulkan.hpp's use of this pattern gives me some confidence that it won't be hugely disruptive. |
|
Alternatively this could be hidden behind the same |
|
I think extensions are usually replaced with other extensions (or core functionality) that's supported in the same places modulo driver updates, and references to extension names also aren't scattered broadly across a code base so it's easy for folks who really need to support old drivers to disable the lint, so a real deprecation annotation is less disruptive here than elsewhere. |
After deciding to back out of marking individual commands and types as
#[deprecated]because superseding functionality is unlikely to be widely available yet, there are however niche or vendor-specific extensions that have been replaced by more common EXT/KHR extensions or even stabilized features. These would benefit from nudging the user towards the newer and/or cross-platform functionality which is more likely to be prevalent.