# Modifications Copyright (c) 2024-2025 Advanced Micro Devices, Inc. # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. name: Feature Request description: Suggest an idea to improve libhipcxx title: '[FEA]: ' labels: ['feature request'] body: - type: checkboxes id: check-duplicates attributes: label: Is this a duplicate? description: Check for duplicate issues. options: - label: I confirmed there appear to be no [duplicate issues](https://github.com/ROCm/libhipcxx/issues) for this request. - type: textarea id: description attributes: label: Is your feature request related to a problem? Please describe. description: A clear and concise description of what the problem is, e.g., "I would like to be able to..." placeholder: I would like to be able to use the equivalent of `std::variant` in both host and device code. validations: required: true - type: textarea id: proposed-solution attributes: label: Describe the solution you'd like description: A clear and concise description of what you want to happen. placeholder: | Provide the header `` that implements a heterogeneous `cuda::std::variant` type. validations: required: true - type: textarea id: alternatives attributes: label: Describe alternatives you've considered description: If applicable, please add a clear and concise description of any alternative solutions or features you've considered. placeholder: The alternatives to a `variant` are unappealing. They usually involve using a raw `union` which is not type safe and has none of the convenient machinery like `std::visit`. validations: required: false - type: textarea id: additional-context attributes: label: Additional context description: Add any other context about the request here. placeholder: This would be a helpful vocabulary type that could replace a lot of custom and error prone code. validations: required: false