AcademySoftwareFoundation / AcademySoftwareFoundation/OpenShadingLanguage
error: ‘const class llvm::Triple’ has no member named ‘isPS4CPU’; did you mean ‘isPS4’?
- Dominant language
- C++
- Stars
- 2.3k
- Forks
- 414
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 10
Description
Failed to build
### Problem
```console
[ 19%] Building CXX object src/liboslexec/CMakeFiles/oslexec.dir/__/liboslcomp/oslcomp.cpp.o
cd ....../OpenShadingLanguage/build/src/liboslexec && ccache /usr/bin/c++ -DCUDA_TARGET_ARCH=\"sm_75\" -DOIIO_HIDE_FORMAT=1 -DOSL_CUDA_VERSION=\"\" -DOSL_EXPORTS -DOSL_FAST_MATH=1 -DOSL_INTERNAL=1 -DOSL_LLVM_FULL_VERSION=\"15.0.0git\" -DOSL_LLVM_VERSION=150 -DOSL_OPTIX_VERSION=\"\" -DUSE_PARTIO=1 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Doslexec_EXPORTS -Doslparse=OSL_v1_12_5_oslparse -Dosoparse=OSL_v1_12_5_osoparse -I....../OpenShadingLanguage/build/include -I....../OpenShadingLanguage/build/src/include -I....../OpenShadingLanguage/src/include -I....../OpenShadingLanguage/ext/dist/include -I....../OpenShadingLanguage/src/liboslexec -I....../OpenShadingLanguage/dist/include -I....../OpenShadingLanguage/src/liboslcomp -isystem /usr/local/include/opencv4 -isystem /usr/local/include/Imath -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3 -DNDEBUG -fPIC -Wall -Werror -Wno-error=strict-overflow -Wno-unused-local-typedefs -Wno-unused-result -Wno-error=misleading-indentation -fno-math-errno -std=c++14 -fno-rtti -MD -MT src/liboslexec/CMakeFiles/oslexec.dir/llvm_util.cpp.o -MF CMakeFiles/oslexec.dir/llvm_util.cpp.o.d -o CMakeFiles/oslexec.dir/llvm_util.cpp.o -c ....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp
cd ....../OpenShadingLanguage/build/src/liboslexec && ccache /usr/bin/c++ -DCUDA_TARGET_ARCH=\"sm_75\" -DOIIO_HIDE_FORMAT=1 -DOSL_CUDA_VERSION=\"\" -DOSL_EXPORTS -DOSL_FAST_MATH=1 -DOSL_INTERNAL=1 -DOSL_LLVM_FULL_VERSION=\"15.0.0git\" -DOSL_LLVM_VERSION=150 -DOSL_OPTIX_VERSION=\"\" -DUSE_PARTIO=1 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Doslexec_EXPORTS -Doslparse=OSL_v1_12_5_oslparse -Dosoparse=OSL_v1_12_5_osoparse -I....../OpenShadingLanguage/build/include -I....../OpenShadingLanguage/build/src/include -I....../OpenShadingLanguage/src/include -I....../OpenShadingLanguage/ext/dist/include -I....../OpenShadingLanguage/src/liboslexec -I....../OpenShadingLanguage/dist/include -I....../OpenShadingLanguage/src/liboslcomp -isystem /usr/local/include/opencv4 -isystem /usr/local/include/Imath -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3 -DNDEBUG -fPIC -Wall -Werror -Wno-error=strict-overflow -Wno-unused-local-typedefs -Wno-unused-result -Wno-error=misleading-indentation -fno-math-errno -std=c++14 -MD -MT src/liboslexec/CMakeFiles/oslexec.dir/__/liboslcomp/oslcomp.cpp.o -MF CMakeFiles/oslexec.dir/__/liboslcomp/oslcomp.cpp.o.d -o CMakeFiles/oslexec.dir/__/liboslcomp/oslcomp.cpp.o -c ....../OpenShadingLanguage/src/liboslcomp/oslcomp.cpp
In file included from ....../OpenShadingLanguage/src/liboslcomp/oslcomp.cpp:24:
/usr/local/include/clang/Basic/TargetInfo.h: In member function ‘virtual bool clang::TargetInfo::shouldDLLImportComdatSymbols() const’:
/usr/local/include/clang/Basic/TargetInfo.h:1192:69: error: ‘const class llvm::Triple’ has no member named ‘isPS4CPU’; did you mean ‘isPS4’?
1192 | getTriple().isWindowsItaniumEnvironment() || getTriple().isPS4CPU();
| ^~~~~~~~
| isPS4
/usr/local/include/clang/Basic/TargetInfo.h: In member function ‘virtual bool clang::TargetInfo::hasPS4DLLImportExport() const’:
/usr/local/include/clang/Basic/TargetInfo.h:1197:24: error: ‘const class llvm::Triple’ has no member named ‘isPS4CPU’; did you mean ‘isPS4’?
1197 | return getTriple().isPS4CPU() ||
| ^~~~~~~~
| isPS4
In file included from /usr/local/include/clang/Basic/FileEntry.h:17,
from /usr/local/include/clang/Basic/SourceManager.h:38,
from /usr/local/include/clang/Frontend/CompilerInstance.h:14,
from ....../OpenShadingLanguage/src/liboslcomp/oslcomp.cpp:25:
/usr/local/include/clang/Basic/DirectoryEntry.h: At global scope:
/usr/local/include/clang/Basic/DirectoryEntry.h:131:19: error: expected ‘;’ at end of member declaration
131 | RefTy &getValue() LLVM_LVALUE_FUNCTION {
| ^
| ;
/usr/local/include/clang/Basic/DirectoryEntry.h:131:21: error: ‘LLVM_LVALUE_FUNCTION’ does not name a type; did you mean ‘LLVM_PRETTY_FUNCTION’?
131 | RefTy &getValue() LLVM_LVALUE_FUNCTION {
| ^~~~~~~~~~~~~~~~~~~~
| LLVM_PRETTY_FUNCTION
/usr/local/include/clang/Basic/DirectoryEntry.h:135:27: error: expected ‘;’ at end of member declaration
135 | RefTy const &getValue() const LLVM_LVALUE_FUNCTION {
| ^~~~~
| ;
/usr/local/include/clang/Basic/DirectoryEntry.h:135:33: error: ‘LLVM_LVALUE_FUNCTION’ does not name a type; did you mean ‘LLVM_PRETTY_FUNCTION’?
135 | RefTy const &getValue() const LLVM_LVALUE_FUNCTION {
| ^~~~~~~~~~~~~~~~~~~~
| LLVM_PRETTY_FUNCTION
In file included from /usr/local/include/clang/AST/NestedNameSpecifier.h:21,
from /usr/local/include/clang/AST/Type.h:21,
from /usr/local/include/clang/AST/DeclarationName.h:16,
from /usr/local/include/clang/AST/DeclBase.h:18,
from /usr/local/include/clang/Analysis/AnalysisDeclContext.h:20,
from /usr/local/include/clang/Analysis/PathDiagnostic.h:17,
from /usr/local/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:17,
from /usr/local/include/clang/Frontend/CompilerInvocation.h:22,
from /usr/local/include/clang/Frontend/CompilerInstance.h:15,
from ....../OpenShadingLanguage/src/liboslcomp/oslcomp.cpp:25:
/usr/local/include/llvm/ADT/FoldingSet.h:261:8: error: redeclared with 2 template parameters
261 | struct FoldingSetTrait : public DefaultFoldingSetTrait {};
| ^~~~~~~~~~~~~~~
In file included from /usr/local/include/clang/Basic/Diagnostic.h:19,
from /usr/local/include/clang/Frontend/CompilerInstance.h:13,
from ....../OpenShadingLanguage/src/liboslcomp/oslcomp.cpp:25:
/usr/local/include/clang/Basic/SourceLocation.h:27:30: note: previous declaration ‘template struct llvm::FoldingSetTrait’ used 1 template parameter
27 | template struct FoldingSetTrait;
| ^~~~~~~~~~~~~~~
In file included from /usr/local/include/clang/AST/NestedNameSpecifier.h:21,
from /usr/local/include/clang/AST/Type.h:21,
from /usr/local/include/clang/AST/DeclarationName.h:16,
from /usr/local/include/clang/AST/DeclBase.h:18,
from /usr/local/include/clang/Analysis/AnalysisDeclContext.h:20,
from /usr/local/include/clang/Analysis/PathDiagnostic.h:17,
from /usr/local/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:17,
from /usr/local/include/clang/Frontend/CompilerInvocation.h:22,
from /usr/local/include/clang/Frontend/CompilerInstance.h:15,
from ....../OpenShadingLanguage/src/liboslcomp/oslcomp.cpp:25:
/usr/local/include/llvm/ADT/FoldingSet.h:833:75: error: wrong number of template arguments (2, should be 1)
833 | struct FoldingSetTrait::value>> {
| ^~
In file included from /usr/local/include/clang/Basic/Diagnostic.h:19,
from /usr/local/include/clang/Frontend/CompilerInstance.h:13,
from ....../OpenShadingLanguage/src/liboslcomp/oslcomp.cpp:25:
/usr/local/include/clang/Basic/SourceLocation.h:27:30: note: provided for ‘template struct llvm::FoldingSetTrait’
27 | template struct FoldingSetTrait;
| ^~~~~~~~~~~~~~~
make[2]: *** [src/liboslcomp/CMakeFiles/oslcomp.dir/build.make:121: src/liboslcomp/CMakeFiles/oslcomp.dir/oslcomp.cpp.o] Error 1
make[2]: Leaving directory '....../OpenShadingLanguage/build'
make[1]: *** [CMakeFiles/Makefile2:387: src/liboslcomp/CMakeFiles/oslcomp.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
In file included from ....../OpenShadingLanguage/src/liboslcomp/oslcomp.cpp:24:
/usr/local/include/clang/Basic/TargetInfo.h: In member function ‘virtual bool clang::TargetInfo::shouldDLLImportComdatSymbols() const’:
/usr/local/include/clang/Basic/TargetInfo.h:1192:69: error: ‘const class llvm::Triple’ has no member named ‘isPS4CPU’; did you mean ‘isPS4’?
1192 | getTriple().isWindowsItaniumEnvironment() || getTriple().isPS4CPU();
| ^~~~~~~~
| isPS4
/usr/local/include/clang/Basic/TargetInfo.h: In member function ‘virtual bool clang::TargetInfo::hasPS4DLLImportExport() const’:
/usr/local/include/clang/Basic/TargetInfo.h:1197:24: error: ‘const class llvm::Triple’ has no member named ‘isPS4CPU’; did you mean ‘isPS4’?
1197 | return getTriple().isPS4CPU() ||
| ^~~~~~~~
| isPS4
In file included from /usr/local/include/clang/Basic/FileEntry.h:17,
from /usr/local/include/clang/Basic/SourceManager.h:38,
from /usr/local/include/clang/Frontend/CompilerInstance.h:14,
from ....../OpenShadingLanguage/src/liboslcomp/oslcomp.cpp:25:
/usr/local/include/clang/Basic/DirectoryEntry.h: At global scope:
/usr/local/include/clang/Basic/DirectoryEntry.h:131:19: error: expected ‘;’ at end of member declaration
131 | RefTy &getValue() LLVM_LVALUE_FUNCTION {
| ^
| ;
/usr/local/include/clang/Basic/DirectoryEntry.h:131:21: error: ‘LLVM_LVALUE_FUNCTION’ does not name a type; did you mean ‘LLVM_PRETTY_FUNCTION’?
131 | RefTy &getValue() LLVM_LVALUE_FUNCTION {
| ^~~~~~~~~~~~~~~~~~~~
| LLVM_PRETTY_FUNCTION
/usr/local/include/clang/Basic/DirectoryEntry.h:135:27: error: expected ‘;’ at end of member declaration
135 | RefTy const &getValue() const LLVM_LVALUE_FUNCTION {
| ^~~~~
| ;
/usr/local/include/clang/Basic/DirectoryEntry.h:135:33: error: ‘LLVM_LVALUE_FUNCTION’ does not name a type; did you mean ‘LLVM_PRETTY_FUNCTION’?
135 | RefTy const &getValue() const LLVM_LVALUE_FUNCTION {
| ^~~~~~~~~~~~~~~~~~~~
| LLVM_PRETTY_FUNCTION
In file included from /usr/local/include/clang/AST/NestedNameSpecifier.h:21,
from /usr/local/include/clang/AST/Type.h:21,
from /usr/local/include/clang/AST/DeclarationName.h:16,
from /usr/local/include/clang/AST/DeclBase.h:18,
from /usr/local/include/clang/Analysis/AnalysisDeclContext.h:20,
from /usr/local/include/clang/Analysis/PathDiagnostic.h:17,
from /usr/local/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:17,
from /usr/local/include/clang/Frontend/CompilerInvocation.h:22,
from /usr/local/include/clang/Frontend/CompilerInstance.h:15,
from ....../OpenShadingLanguage/src/liboslcomp/oslcomp.cpp:25:
/usr/local/include/llvm/ADT/FoldingSet.h:261:8: error: redeclared with 2 template parameters
261 | struct FoldingSetTrait : public DefaultFoldingSetTrait {};
| ^~~~~~~~~~~~~~~
In file included from /usr/local/include/clang/Basic/Diagnostic.h:19,
from /usr/local/include/clang/Frontend/CompilerInstance.h:13,
from ....../OpenShadingLanguage/src/liboslcomp/oslcomp.cpp:25:
/usr/local/include/clang/Basic/SourceLocation.h:27:30: note: previous declaration ‘template struct llvm::FoldingSetTrait’ used 1 template parameter
27 | template struct FoldingSetTrait;
| ^~~~~~~~~~~~~~~
In file included from /usr/local/include/clang/AST/NestedNameSpecifier.h:21,
from /usr/local/include/clang/AST/Type.h:21,
from /usr/local/include/clang/AST/DeclarationName.h:16,
from /usr/local/include/clang/AST/DeclBase.h:18,
from /usr/local/include/clang/Analysis/AnalysisDeclContext.h:20,
from /usr/local/include/clang/Analysis/PathDiagnostic.h:17,
from /usr/local/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:17,
from /usr/local/include/clang/Frontend/CompilerInvocation.h:22,
from /usr/local/include/clang/Frontend/CompilerInstance.h:15,
from ....../OpenShadingLanguage/src/liboslcomp/oslcomp.cpp:25:
/usr/local/include/llvm/ADT/FoldingSet.h:833:75: error: wrong number of template arguments (2, should be 1)
833 | struct FoldingSetTrait::value>> {
| ^~
In file included from /usr/local/include/clang/Basic/Diagnostic.h:19,
from /usr/local/include/clang/Frontend/CompilerInstance.h:13,
from ....../OpenShadingLanguage/src/liboslcomp/oslcomp.cpp:25:
/usr/local/include/clang/Basic/SourceLocation.h:27:30: note: provided for ‘template struct llvm::FoldingSetTrait’
27 | template struct FoldingSetTrait;
| ^~~~~~~~~~~~~~~
make[2]: *** [src/liboslexec/CMakeFiles/oslexec.dir/build.make:1016: src/liboslexec/CMakeFiles/oslexec.dir/__/liboslcomp/oslcomp.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp: In member function ‘void OSL_v1_12_5::pvt::LLVM_Util::setup_optimization_passes(int, bool)’:
....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp:1771:23: error: ‘createLoopUnswitchPass’ is not a member of ‘llvm’; did you mean ‘createLowerSwitchPass’?
1771 | mpm.add(llvm::createLoopUnswitchPass(false));
| ^~~~~~~~~~~~~~~~~~~~~~
| createLowerSwitchPass
....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp:1888:23: error: ‘createLoopUnswitchPass’ is not a member of ‘llvm’; did you mean ‘createLowerSwitchPass’?
1888 | mpm.add(llvm::createLoopUnswitchPass(false));
| ^~~~~~~~~~~~~~~~~~~~~~
| createLowerSwitchPass
....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp: In member function ‘llvm::Value* OSL_v1_12_5::pvt::LLVM_Util::call_function(llvm::Value*, OpenImageIO_v2_4_1::cspan)’:
....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp:3473:78: error: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Werror=deprecated-declarations]
3473 | llvm::cast(func->getType()->getPointerElementType()), func,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /usr/local/include/llvm/IR/DerivedTypes.h:23,
from /usr/local/include/llvm/IR/Constants.h:31,
from ....../OpenShadingLanguage/src/liboslexec/llvm_passes.h:10,
from ....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp:20:
/usr/local/include/llvm/IR/Type.h:375:9: note: declared here
375 | Type *getPointerElementType() const {
| ^~~~~~~~~~~~~~~~~~~~~
....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp: In member function ‘llvm::Value* OSL_v1_12_5::pvt::LLVM_Util::op_load(llvm::Value*)’:
....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp:3604:57: error: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Werror=deprecated-declarations]
3604 | return op_load(ptr->getType()->getPointerElementType(), ptr);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /usr/local/include/llvm/IR/DerivedTypes.h:23,
from /usr/local/include/llvm/IR/Constants.h:31,
from ....../OpenShadingLanguage/src/liboslexec/llvm_passes.h:10,
from ....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp:20:
/usr/local/include/llvm/IR/Type.h:375:9: note: declared here
375 | Type *getPointerElementType() const {
| ^~~~~~~~~~~~~~~~~~~~~
....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp: In member function ‘llvm::Value* OSL_v1_12_5::pvt::LLVM_Util::GEP(llvm::Value*, llvm::Value*)’:
....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp:5087:70: error: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Werror=deprecated-declarations]
5087 | return GEP(ptr->getType()->getScalarType()->getPointerElementType(), ptr,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /usr/local/include/llvm/IR/DerivedTypes.h:23,
from /usr/local/include/llvm/IR/Constants.h:31,
from ....../OpenShadingLanguage/src/liboslexec/llvm_passes.h:10,
from ....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp:20:
/usr/local/include/llvm/IR/Type.h:375:9: note: declared here
375 | Type *getPointerElementType() const {
| ^~~~~~~~~~~~~~~~~~~~~
....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp: In member function ‘llvm::Value* OSL_v1_12_5::pvt::LLVM_Util::GEP(llvm::Value*, int)’:
....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp:5104:70: error: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Werror=deprecated-declarations]
5104 | return GEP(ptr->getType()->getScalarType()->getPointerElementType(), ptr,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /usr/local/include/llvm/IR/DerivedTypes.h:23,
from /usr/local/include/llvm/IR/Constants.h:31,
from ....../OpenShadingLanguage/src/liboslexec/llvm_passes.h:10,
from ....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp:20:
/usr/local/include/llvm/IR/Type.h:375:9: note: declared here
375 | Type *getPointerElementType() const {
| ^~~~~~~~~~~~~~~~~~~~~
....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp: In member function ‘llvm::Value* OSL_v1_12_5::pvt::LLVM_Util::GEP(llvm::Value*, int, int)’:
....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp:5121:70: error: ‘llvm::Type* llvm::Type::getPointerElementType() const’ is deprecated: Deprecated without replacement, see https://llvm.org/docs/OpaquePointers.html for context and migration instructions [-Werror=deprecated-declarations]
5121 | return GEP(ptr->getType()->getScalarType()->getPointerElementType(), ptr,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /usr/local/include/llvm/IR/DerivedTypes.h:23,
from /usr/local/include/llvm/IR/Constants.h:31,
from ....../OpenShadingLanguage/src/liboslexec/llvm_passes.h:10,
from ....../OpenShadingLanguage/src/liboslexec/llvm_util.cpp:20:
/usr/local/include/llvm/IR/Type.h:375:9: note: declared here
375 | Type *getPointerElementType() const {
| ^~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [src/liboslexec/CMakeFiles/oslexec.dir/build.make:960: src/liboslexec/CMakeFiles/oslexec.dir/llvm_util.cpp.o] Error 1
make[2]: Leaving directory '....../OpenShadingLanguage/build'
make[1]: *** [CMakeFiles/Makefile2:466: src/liboslexec/CMakeFiles/oslexec.dir/all] Error 2
make[1]: Leaving directory '....../OpenShadingLanguage/build'
make: *** [Makefile:159: all] Error 2
➜ build git:(main)
```
### Steps to Reproduce
Just `make` after `configure` .
### Versions
* OSL branch/version: commit: 08cda36387a1aa0df799b13b251b652c75f39cab
* OS: Ubuntu 22.04
* C++ compiler:
```console
➜ build git:(main) gcc --version
gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
```
* LLVM version:
```console
➜ build git:(main) clang --version
clang version 14.0.3
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin
➜ build git:(main) apt show llvm
Package: llvm
Version: 1:14.0-55~exp2
.......
```
* OIIO version: 2.3.16 (successfully and manually installed)
Contributor guide
Research direction
Start by reproducing the CMake build and inspect the dependency versions used by src/liboslcomp/oslcomp.cpp and src/liboslexec/llvm_util.cpp. Compare the project’s LLVM/Clang configuration with the headers under /usr/local/include; done means the affected targets compile without the reported API and macro errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system, compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100