Extend the information provided by TCling::GetAutoParseClasses
メンテナーはふだん 1 日以内に返信
@dpiparo がすでに取り組んでいます。
2026年9月16日 から。
評価
この issue はまだ評価されていません。
説明
TCling::GetAutoParseClasses (and its Print counterpart) only provides the list of class name that directly triggered the auto-parsing of header files.
As seen in https://github.com/cms-sw/cmssw/issues/49458 (see around https://github.com/cms-sw/cmssw/issues/49458#issuecomment-5455974884), sometimes this is not the name of the class for which we are missing a dictionary.
For example we could have a class template sometemplate with 2 arguments and where the 2nd argument is irrelevant to I/O (does not participate in I/O, does not affect the I/O layout of the class template instance).
In such a case, the user would request the dictionary for the first argument and for the template instance.
In the error case (only have the dictionary for class A but inadvertently not for sometemplate<A, B> and intentionally not for B.
In that case the capture of the trigger of the auto-parsing will happen in the stack trace like:
- GetClass("sometemplate<A, B>");
- Successful auto-parse of B which also makes "sometemplate<A, B>" available.
In the CMS' case B is complex enough that the auto-parse can succeed even without a dictionary for the actual B (which is a class instance).
The auto-parse report would in this case only mention B (which is expected to not have a dictionary) where as the user need to know about sometemplate<A, B> in order to fix the proper missing dictionary.
To solve this issue the auto-parse report would need to gather the list of classes being looked up (by a TClass::GetClass) when an auto-parse happens.
One challenge is to minimize the impact of the common case (no error and no reporting needed) - This may or may not require to make the recording optional.
- 主要言語
- C++
- スター
- 3.3k
- フォーク
- 1.6k
- 平均マージ
- 2日 17時間
- マージ済み PR(30日)
- 188
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
root-project/root のほかの issue
-
thisroot.sh: wrong ROOTSYS in zsh when the shell's command line has a newline対応中かも @dpiparo が 4 日前に担当しました。 オープンbug in:Build System
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
root-project/root#23746 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
[tmva][sofie] Inputs of unsupported type (e.g. float16) give code that does not compile instead of an error対応中かも @lmoneta が 14 日前に担当しました。 オープンAI-Assisted bug in:SOFIE
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
root-project/root#23655 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
[RDataFrame] Code that transforms `#var` alias to `R_rdf_sizeof_var` does not respect string literals対応中かも @vepadulano が 1 日前に担当しました。 オープンbug in:RDataFrame
難易度 3/5 1〜2日 初心者へのやさしさ 71/100
root-project/root#23790 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
TDataMember::GetOffset interfers to TDataMember::GetOffsetCint対応中かも @pcanal が 1 日前に担当しました。 オープンbug in:Core Libraries
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
root-project/root#23777 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
`TChain::GetEntries` internal caching ineffective?対応中かも @pcanal が 7 日前に担当しました。 オープンimprovement in:TTree
root-project/root#23738 · コメント 2 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
root-project/root の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
foxglove/mcap#1907 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
telegramdesktop/tdesktop#31505 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
ll-builder shell completions omit existing lockfile commands and --locked対応中かも @project-nju-learner が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
OpenAtom-Linyaps/linyaps#2291 ·
メンテナーはふだん 1 日以内に返信