Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Extend the information provided by TCling::GetAutoParseClasses

Đang mở
#23,377 0 bình luận 0 reaction 2 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@dpiparo đang làm issue này rồi.

Từ ngày 16/9/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

in:Core Libraries new feature

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.

Ngôn ngữ chính
C++
Star
3.3k
Fork
1.6k
Merge trung bình
2 ngày 17 giờ
Pull request đã merge (30 ngày)
188

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của root-project/root

Tất cả issue của root-project/root

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.