WerWolv / WerWolv/PatternLanguage
Overrun of data causes unassigned variable to be provided to functions
Open
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 275
- Forks
- 75
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 10
Description
Could also be broken with all similar functions but logging what I observed:
struct Option<T> {
bool is_some;
T value;
} [[format("format_option")]];
fn format_option(Option<auto> option) {
std::print("{}", option.is_some);
if (option.is_some) {
return std::format("Some({})", option.value);
} else {
return "None";
}
};
I can see in pattern data that is_some is true but inside format_option it is false (in the console). Value is also not populated.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the provided Option and format_option example in the PatternLanguage implementation, then trace how pattern data is passed into functions. Done means the observed is_some and value fields retain their expected values inside format_option, including for similar functions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100