Skip to content

llvm-wrapper: remove some unused headers #117676

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
wants to merge 4 commits into from

Conversation

klensy
Copy link
Contributor

@klensy klensy commented Nov 7, 2023

Saw #117675 and #117674 and remembered, that i wrote this PR, but forgot to submit.

Also fixes warning about type conversion.

Probably can fail, as this PR from long time ago.

@rustbot
Copy link
Collaborator

rustbot commented Nov 7, 2023

r? @cuviper

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Nov 7, 2023
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-tools failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
GITHUB_ACTION=__run_7
GITHUB_ACTIONS=true
GITHUB_ACTION_REF=
GITHUB_ACTION_REPOSITORY=
GITHUB_ACTOR=klensy
GITHUB_API_URL=https://api.github.com
GITHUB_BASE_REF=master
GITHUB_ENV=/home/runner/work/_temp/_runner_file_commands/set_env_23d0e665-24be-404c-9bdd-fc50e0dbf802
GITHUB_EVENT_NAME=pull_request
GITHUB_EVENT_NAME=pull_request
GITHUB_EVENT_PATH=/home/runner/work/_temp/_github_workflow/event.json
GITHUB_GRAPHQL_URL=https://api.github.com/graphql
GITHUB_HEAD_REF=cut-llvm-includes
GITHUB_JOB=pr
GITHUB_PATH=/home/runner/work/_temp/_runner_file_commands/add_path_23d0e665-24be-404c-9bdd-fc50e0dbf802
GITHUB_REF=refs/pull/117676/merge
GITHUB_REF_NAME=117676/merge
GITHUB_REF_PROTECTED=false
---
GITHUB_SERVER_URL=https://github.com
GITHUB_SHA=fa01a7838f99f64e3462f7aa16061598333b66e1
GITHUB_STATE=/home/runner/work/_temp/_runner_file_commands/save_state_23d0e665-24be-404c-9bdd-fc50e0dbf802
GITHUB_STEP_SUMMARY=/home/runner/work/_temp/_runner_file_commands/step_summary_23d0e665-24be-404c-9bdd-fc50e0dbf802
GITHUB_TRIGGERING_ACTOR=klensy
GITHUB_WORKFLOW_REF=rust-lang/rust/.github/workflows/ci.yml@refs/pull/117676/merge
GITHUB_WORKFLOW_SHA=fa01a7838f99f64e3462f7aa16061598333b66e1
GITHUB_WORKSPACE=/home/runner/work/rust/rust
GOROOT_1_19_X64=/opt/hostedtoolcache/go/1.19.13/x64
---
   Compiling rustc_error_messages v0.0.0 (/checkout/compiler/rustc_error_messages)
   Compiling tracing-tree v0.2.4
The following warnings were emitted during compilation:

warning: llvm-wrapper/PassWrapper.cpp: In function ‘const char* LLVMRustGetSliceFromObjectDataByName(const char*, size_t, const char*, size_t*)’:
warning: llvm-wrapper/PassWrapper.cpp:1606:27: error: incomplete type ‘llvm::object::ObjectFile’ used in nested name specifier
warning:  1606 |       object::ObjectFile::createObjectFile(Buffer, Type);
warning: llvm-wrapper/PassWrapper.cpp:1611:57: error: invalid use of incomplete type ‘class llvm::object::ObjectFile’
warning: llvm-wrapper/PassWrapper.cpp:1611:57: error: invalid use of incomplete type ‘class llvm::object::ObjectFile’
warning:  1611 |   for (const object::SectionRef &Sec : (*ObjFileOrError)->sections()) {
warning: In file included from llvm-wrapper/PassWrapper.cpp:34:
warning: /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/Object/IRObjectFile.h:25:7: note: forward declaration of ‘class llvm::object::ObjectFile’
warning:    25 | class ObjectFile;
warning:       |       ^~~~~~~~~~
warning:       |       ^~~~~~~~~~
warning: llvm-wrapper/PassWrapper.cpp:1612:32: error: invalid use of incomplete type ‘const class llvm::object::SectionRef’
warning:  1612 |     Expected<StringRef> Name = Sec.getName();
warning: In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h:20,
warning:                  from llvm-wrapper/PassWrapper.cpp:50:
warning: /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/ProfileData/InstrProf.h:399:7: note: forward declaration of ‘class llvm::object::SectionRef’
warning:   399 | class SectionRef;
warning:   399 | class SectionRef;
warning:       |       ^~~~~~~~~~
warning: llvm-wrapper/PassWrapper.cpp:1614:44: error: invalid use of incomplete type ‘const class llvm::object::SectionRef’
warning:  1614 |       Expected<StringRef> SectionOrError = Sec.getContents();
warning: In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h:20,
warning:                  from llvm-wrapper/PassWrapper.cpp:50:
warning: /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/ProfileData/InstrProf.h:399:7: note: forward declaration of ‘class llvm::object::SectionRef’
warning:   399 | class SectionRef;
warning:   399 | class SectionRef;
warning:       |       ^~~~~~~~~~
warning: In file included from /usr/include/c++/11/memory:76,
warning:                  from /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/ADT/SmallVector.h:28,
warning:                  from /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/ADT/ArrayRef.h:13,
warning:                  from /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/IR/IRBuilder.h:18,
warning:                  from llvm-wrapper/LLVMWrapper.h:3,
warning:                  from llvm-wrapper/PassWrapper.cpp:1:
warning: /usr/include/c++/11/bits/unique_ptr.h: In instantiation of ‘void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = llvm::object::ObjectFile]’:
warning: /usr/include/c++/11/bits/unique_ptr.h:361:17:   required from ‘std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = llvm::object::ObjectFile; _Dp = std::default_delete<llvm::object::ObjectFile>]’
warning: /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/Support/Error.h:551:34:   required from ‘llvm::Expected<T>::~Expected() [with T = std::unique_ptr<llvm::object::ObjectFile>]’
warning: /usr/include/c++/11/bits/unique_ptr.h:83:23: error: invalid application of ‘sizeof’ to incomplete type ‘llvm::object::ObjectFile’
warning:    83 |         static_assert(sizeof(_Tp)>0,
warning:       |                       ^~~~~~~~~~~


error: failed to run custom build command for `rustc_llvm v0.0.0 (/checkout/compiler/rustc_llvm)`

Caused by:
  process didn't exit successfully: `/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/release/build/rustc_llvm-8cafddd5c0ba7bb5/build-script-build` (exit status: 1)
  --- stdout
  cargo:rustc-check-cfg=values(llvm_component,"ipo")
  cargo:rustc-check-cfg=values(llvm_component,"bitreader")
  cargo:rustc-check-cfg=values(llvm_component,"bitwriter")
  cargo:rustc-check-cfg=values(llvm_component,"linker")
  cargo:rustc-check-cfg=values(llvm_component,"asmparser")
  cargo:rustc-check-cfg=values(llvm_component,"lto")
  cargo:rustc-check-cfg=values(llvm_component,"coverage")
  cargo:rustc-check-cfg=values(llvm_component,"instrumentation")
  cargo:rustc-check-cfg=values(llvm_component,"x86")
  cargo:rustc-check-cfg=values(llvm_component,"arm")
  cargo:rustc-check-cfg=values(llvm_component,"aarch64")
  cargo:rustc-check-cfg=values(llvm_component,"amdgpu")
  cargo:rustc-check-cfg=values(llvm_component,"avr")
  cargo:rustc-check-cfg=values(llvm_component,"loongarch")
  cargo:rustc-check-cfg=values(llvm_component,"m68k")
  cargo:rustc-check-cfg=values(llvm_component,"csky")
  cargo:rustc-check-cfg=values(llvm_component,"mips")
  cargo:rustc-check-cfg=values(llvm_component,"powerpc")
  cargo:rustc-check-cfg=values(llvm_component,"systemz")
  cargo:rustc-check-cfg=values(llvm_component,"jsbackend")
  cargo:rustc-check-cfg=values(llvm_component,"webassembly")
  cargo:rustc-check-cfg=values(llvm_component,"msp430")
  cargo:rustc-check-cfg=values(llvm_component,"sparc")
  cargo:rustc-check-cfg=values(llvm_component,"nvptx")
  cargo:rustc-check-cfg=values(llvm_component,"hexagon")
  cargo:rustc-check-cfg=values(llvm_component,"riscv")
  cargo:rustc-check-cfg=values(llvm_component,"bpf")
  cargo:rerun-if-env-changed=RUST_CHECK
  cargo:rerun-if-env-changed=REAL_LIBRARY_PATH_VAR
  cargo:rerun-if-env-changed=REAL_LIBRARY_PATH
  cargo:rerun-if-env-changed=LLVM_CONFIG
  cargo:rerun-if-changed=/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/llvm-config
  cargo:rustc-cfg=llvm_component="aarch64"
  cargo:rustc-cfg=llvm_component="arm"
  cargo:rustc-cfg=llvm_component="asmparser"
  cargo:rustc-cfg=llvm_component="avr"
  cargo:rustc-cfg=llvm_component="bitreader"
  cargo:rustc-cfg=llvm_component="bitwriter"
  cargo:rustc-cfg=llvm_component="bpf"
  cargo:rustc-cfg=llvm_component="coverage"
  cargo:rustc-cfg=llvm_component="csky"
  cargo:rustc-cfg=llvm_component="hexagon"
  cargo:rustc-cfg=llvm_component="instrumentation"
  cargo:rustc-cfg=llvm_component="ipo"
  cargo:rustc-cfg=llvm_component="linker"
  cargo:rustc-cfg=llvm_component="loongarch"
  cargo:rustc-cfg=llvm_component="lto"
  cargo:rustc-cfg=llvm_component="m68k"
  cargo:rustc-cfg=llvm_component="mips"
  cargo:rustc-cfg=llvm_component="msp430"
  cargo:rustc-cfg=llvm_component="nvptx"
  cargo:rustc-cfg=llvm_component="powerpc"
  cargo:rustc-cfg=llvm_component="riscv"
  cargo:rustc-cfg=llvm_component="sparc"
  cargo:rustc-cfg=llvm_component="systemz"
  cargo:rustc-cfg=llvm_component="webassembly"
  cargo:rustc-cfg=llvm_component="x86"
  cargo:rerun-if-env-changed=LLVM_RUSTLLVM
  cargo:rerun-if-env-changed=LLVM_NDEBUG
  cargo:rerun-if-changed=llvm-wrapper/README
  cargo:rerun-if-changed=llvm-wrapper/SymbolWrapper.cpp
  cargo:rerun-if-changed=llvm-wrapper/RustWrapper.cpp
  cargo:rerun-if-changed=llvm-wrapper/Linker.cpp
  cargo:rerun-if-changed=llvm-wrapper/.editorconfig
  cargo:rerun-if-changed=llvm-wrapper/CoverageMappingWrapper.cpp
  cargo:rerun-if-changed=llvm-wrapper/PassWrapper.cpp
  cargo:rerun-if-changed=llvm-wrapper/ArchiveWrapper.cpp
  cargo:rerun-if-changed=llvm-wrapper/LLVMWrapper.h
  TARGET = Some("x86_64-unknown-linux-gnu")
  HOST = Some("x86_64-unknown-linux-gnu")
  cargo:rerun-if-env-changed=CXX_x86_64-unknown-linux-gnu
  CXX_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=CXX_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=CXX_x86_64_unknown_linux_gnu
  CXX_x86_64_unknown_linux_gnu = Some("sccache c++")
  CXXFLAGS_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=CXXFLAGS_x86_64_unknown_linux_gnu
  CXXFLAGS_x86_64_unknown_linux_gnu = Some("-ffunction-sections -fdata-sections -fPIC -m64")
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  running: "sccache" "c++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include" "-std=c++17" "-fno-exceptions" "-funwind-tables" "-fno-rtti" "-D_GNU_SOURCE" "-D_DEBUG" "-D_GLIBCXX_ASSERTIONS" "-D_LIBCPP_ENABLE_HARDENED_MODE" "-D__STDC_CONSTANT_MACROS" "-D__STDC_FORMAT_MACROS" "-D__STDC_LIMIT_MACROS" "-DLLVM_COMPONENT_AARCH64" "-DLLVM_COMPONENT_ARM" "-DLLVM_COMPONENT_ASMPARSER" "-DLLVM_COMPONENT_AVR" "-DLLVM_COMPONENT_BITREADER" "-DLLVM_COMPONENT_BITWRITER" "-DLLVM_COMPONENT_BPF" "-DLLVM_COMPONENT_COVERAGE" "-DLLVM_COMPONENT_CSKY" "-DLLVM_COMPONENT_HEXAGON" "-DLLVM_COMPONENT_INSTRUMENTATION" "-DLLVM_COMPONENT_IPO" "-DLLVM_COMPONENT_LINKER" "-DLLVM_COMPONENT_LOONGARCH" "-DLLVM_COMPONENT_LTO" "-DLLVM_COMPONENT_M68K" "-DLLVM_COMPONENT_MIPS" "-DLLVM_COMPONENT_MSP430" "-DLLVM_COMPONENT_NVPTX" "-DLLVM_COMPONENT_POWERPC" "-DLLVM_COMPONENT_RISCV" "-DLLVM_COMPONENT_SPARC" "-DLLVM_COMPONENT_SYSTEMZ" "-DLLVM_COMPONENT_WEBASSEMBLY" "-DLLVM_COMPONENT_X86" "-DLLVM_RUSTLLVM" "-DNDEBUG" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/rustc_llvm-2cdecfa9d2205cfd/out/llvm-wrapper/PassWrapper.o" "-c" "llvm-wrapper/PassWrapper.cpp"
  cargo:warning=llvm-wrapper/PassWrapper.cpp: In function ‘const char* LLVMRustGetSliceFromObjectDataByName(const char*, size_t, const char*, size_t*)’:
  cargo:warning=llvm-wrapper/PassWrapper.cpp:1606:27: error: incomplete type ‘llvm::object::ObjectFile’ used in nested name specifier
  cargo:warning= 1606 |       object::ObjectFile::createObjectFile(Buffer, Type);
  cargo:warning=      |                           ^~~~~~~~~~~~~~~~
  cargo:warning=llvm-wrapper/PassWrapper.cpp:1611:57: error: invalid use of incomplete type ‘class llvm::object::ObjectFile’
  cargo:warning= 1611 |   for (const object::SectionRef &Sec : (*ObjFileOrError)->sections()) {
  cargo:warning=      |                                                         ^~
  cargo:warning=In file included from llvm-wrapper/PassWrapper.cpp:34:
  cargo:warning=/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/Object/IRObjectFile.h:25:7: note: forward declaration of ‘class llvm::object::ObjectFile’
  cargo:warning=   25 | class ObjectFile;
  cargo:warning=      |       ^~~~~~~~~~
  cargo:warning=llvm-wrapper/PassWrapper.cpp:1612:32: error: invalid use of incomplete type ‘const class llvm::object::SectionRef’
  cargo:warning= 1612 |     Expected<StringRef> Name = Sec.getName();
  cargo:warning=      |                                ^~~
  cargo:warning=In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h:20,
  cargo:warning=                 from llvm-wrapper/PassWrapper.cpp:50:
  cargo:warning=/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/ProfileData/InstrProf.h:399:7: note: forward declaration of ‘class llvm::object::SectionRef’
  cargo:warning=  399 | class SectionRef;
  cargo:warning=      |       ^~~~~~~~~~
  cargo:warning=llvm-wrapper/PassWrapper.cpp:1614:44: error: invalid use of incomplete type ‘const class llvm::object::SectionRef’
  cargo:warning= 1614 |       Expected<StringRef> SectionOrError = Sec.getContents();
  cargo:warning=      |                                            ^~~
  cargo:warning=In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h:20,
  cargo:warning=                 from llvm-wrapper/PassWrapper.cpp:50:
  cargo:warning=/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/ProfileData/InstrProf.h:399:7: note: forward declaration of ‘class llvm::object::SectionRef’
  cargo:warning=  399 | class SectionRef;
  cargo:warning=      |       ^~~~~~~~~~
  cargo:warning=In file included from /usr/include/c++/11/memory:76,
  cargo:warning=                 from /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/ADT/SmallVector.h:28,
  cargo:warning=                 from /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/ADT/ArrayRef.h:13,
  cargo:warning=                 from /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/IR/IRBuilder.h:18,
  cargo:warning=                 from llvm-wrapper/LLVMWrapper.h:3,
  cargo:warning=                 from llvm-wrapper/PassWrapper.cpp:1:
  cargo:warning=/usr/include/c++/11/bits/unique_ptr.h: In instantiation of ‘void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = llvm::object::ObjectFile]’:
  cargo:warning=/usr/include/c++/11/bits/unique_ptr.h:361:17:   required from ‘std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = llvm::object::ObjectFile; _Dp = std::default_delete<llvm::object::ObjectFile>]’
  cargo:warning=/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include/llvm/Support/Error.h:551:34:   required from ‘llvm::Expected<T>::~Expected() [with T = std::unique_ptr<llvm::object::ObjectFile>]’
  cargo:warning=llvm-wrapper/PassWrapper.cpp:1606:56:   required from here
  cargo:warning=/usr/include/c++/11/bits/unique_ptr.h:83:23: error: invalid application of ‘sizeof’ to incomplete type ‘llvm::object::ObjectFile’
  cargo:warning=   83 |         static_assert(sizeof(_Tp)>0,
  cargo:warning=      |                       ^~~~~~~~~~~

  --- stderr



  error occurred: Command "sccache" "c++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/include" "-std=c++17" "-fno-exceptions" "-funwind-tables" "-fno-rtti" "-D_GNU_SOURCE" "-D_DEBUG" "-D_GLIBCXX_ASSERTIONS" "-D_LIBCPP_ENABLE_HARDENED_MODE" "-D__STDC_CONSTANT_MACROS" "-D__STDC_FORMAT_MACROS" "-D__STDC_LIMIT_MACROS" "-DLLVM_COMPONENT_AARCH64" "-DLLVM_COMPONENT_ARM" "-DLLVM_COMPONENT_ASMPARSER" "-DLLVM_COMPONENT_AVR" "-DLLVM_COMPONENT_BITREADER" "-DLLVM_COMPONENT_BITWRITER" "-DLLVM_COMPONENT_BPF" "-DLLVM_COMPONENT_COVERAGE" "-DLLVM_COMPONENT_CSKY" "-DLLVM_COMPONENT_HEXAGON" "-DLLVM_COMPONENT_INSTRUMENTATION" "-DLLVM_COMPONENT_IPO" "-DLLVM_COMPONENT_LINKER" "-DLLVM_COMPONENT_LOONGARCH" "-DLLVM_COMPONENT_LTO" "-DLLVM_COMPONENT_M68K" "-DLLVM_COMPONENT_MIPS" "-DLLVM_COMPONENT_MSP430" "-DLLVM_COMPONENT_NVPTX" "-DLLVM_COMPONENT_POWERPC" "-DLLVM_COMPONENT_RISCV" "-DLLVM_COMPONENT_SPARC" "-DLLVM_COMPONENT_SYSTEMZ" "-DLLVM_COMPONENT_WEBASSEMBLY" "-DLLVM_COMPONENT_X86" "-DLLVM_RUSTLLVM" "-DNDEBUG" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/rustc_llvm-2cdecfa9d2205cfd/out/llvm-wrapper/PassWrapper.o" "-c" "llvm-wrapper/PassWrapper.cpp" with args "c++" did not execute successfully (status code exit status: 1).

warning: build failed, waiting for other jobs to finish...
Build completed unsuccessfully in 0:00:57
cat: /tmp/toolstate/toolstates.json: No such file or directory

@klensy klensy marked this pull request as draft November 7, 2023 16:31
@cuviper
Copy link
Member

cuviper commented Nov 7, 2023

@rustbot author

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 7, 2023
@bors
Copy link
Collaborator

bors commented Nov 7, 2023

☔ The latest upstream changes (presumably #117680) made this pull request unmergeable. Please resolve the merge conflicts.

@Dylan-DPC
Copy link
Member

@klensy any updates on this? thanks

@Dylan-DPC
Copy link
Member

Dylan-DPC commented Aug 1, 2024

Closing this as inactive. Feel free to reöpen this pr or create a new pr if you get the time to work on this. Thanks

@Dylan-DPC Dylan-DPC closed this Aug 1, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants