WerWolv / WerWolv/PatternLanguage

Namespace scope doesn't apply to variables

Open
#140 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
275
Forks
75
Avg merge
1d 22h
Merged PRs (30d)
10

Description

When a variable is defined inside a namespace, the namespace scope needs to be dropped to be able to access the variable

namespace test {
    bool something = true;
    bool setting in;
}

//way to access
something = false;
setting = true;

//expected way to access
test::something = false;
test::setting = true;

It also means that it is impossible to use namespaces to separate different instances of variables. In the below example, all three instances of 'something' collide with each other

bool something = true;

namespace test {
    bool something = true;
}

namespace test2 {
    bool something = true;
}

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source files or tests are identified in the issue. Start by locating the implementation of namespace scope and variable name resolution, then reproduce the examples with global, test, and test2 variables. Done means qualified access such as test::something works and variables with the same name in different namespaces do not collide.

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
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.