Skip to content

ClangTidy warnings for cppcoreguidelines-pro-type-member-init #1670

Closed
@jviotti

Description

@jviotti
Member
/Users/jviotti/Projects/core/src/core/json/include/sourcemeta/core/json_array.h:15:3: error: constructor does not initialize these fields: data [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   15 |   JSONArray() : data{} {}
      |   ^

/Users/jviotti/Projects/core/src/core/json/include/sourcemeta/core/json_array.h:16:3: error: constructor does not initialize these fields: data [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   16 |   JSONArray(std::initializer_list<Value> values) : data{values} {}
      |   ^

/Users/jviotti/Projects/core/src/core/json/include/sourcemeta/core/json_error.h:28:3: error: constructor does not initialize these fields: line_, column_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   28 |   JSONParseError(const std::uint64_t line, const std::uint64_t column)
      |   ^

/Users/jviotti/Projects/core/src/core/json/include/sourcemeta/core/json_error.h:32:3: error: constructor does not initialize these fields: line_, column_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   32 |   JSONParseError(const std::uint64_t line, const std::uint64_t column,
      |   ^

/Users/jviotti/Projects/core/src/core/json/include/sourcemeta/core/json_error.h:73:3: error: constructor does not initialize these fields: path_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   73 |   JSONFileParseError(const std::filesystem::path &path,
      |   ^

/Users/jviotti/Projects/core/src/core/json/include/sourcemeta/core/json_error.h:79:3: error: constructor does not initialize these fields: path_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   79 |   JSONFileParseError(const std::filesystem::path &path,
      |   ^

/Users/jviotti/Projects/core/src/core/json/include/sourcemeta/core/json_object.h:17:62: error: constructor does not initialize these fields: data [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   17 | template <typename Key, typename Value, typename Hash> class FlatMap {
      |                                                              ^

/Users/jviotti/Projects/core/src/core/json/include/sourcemeta/core/json_object.h:42:3: error: constructor does not initialize these fields: data [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   42 |   FlatMap(std::initializer_list<value_type> entries) {
      |   ^

/Users/jviotti/Projects/core/src/core/json/include/sourcemeta/core/json_value.h:1553:3: error: union constructor should initialize one of these fields: data_boolean, data_integer, data_real, data_string, data_object [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
 1553 |   union {
      |   ^
 1554 |     bool data_boolean;
      |
      |                      {}

/Users/jviotti/Projects/core/src/core/jsonl/iterator.cc:103:1: error: constructor does not initialize these fields: data, internal [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  103 | ConstJSONLIterator::ConstJSONLIterator(
      | ^

/Users/jviotti/Projects/core/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_position.h:46:42: error: constructor does not initialize these fields: current, data [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   46 | class SOURCEMETA_CORE_JSONPOINTER_EXPORT PointerPositionTracker {
      |                                          ^

/Users/jviotti/Projects/core/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_template.h:41:3: error: constructor does not initialize these fields: data [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   41 |   GenericPointerTemplate() : data{} {}
      |   ^

/Users/jviotti/Projects/core/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_template.h:54:3: error: constructor does not initialize these fields: data [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   54 |   GenericPointerTemplate(
      |   ^

/Users/jviotti/Projects/core/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_template.h:67:3: error: constructor does not initialize these fields: data [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   67 |   GenericPointerTemplate(const PointerT &other) { this->push_back(other); }
      |   ^

/Users/jviotti/Projects/core/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_token.h:20:3: error: constructor does not initialize these fields: index [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   20 |   GenericToken(const Property &value,
      |   ^

/Users/jviotti/Projects/core/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_token.h:68:3: error: constructor does not initialize these fields: index [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   68 |   GenericToken(const Index value)
      |   ^

/Users/jviotti/Projects/core/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_token.h:80:3: error: constructor does not initialize these fields: index [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   80 |   GenericToken(const int value)
      |   ^

/Users/jviotti/Projects/core/src/core/jsonpointer/include/sourcemeta/core/jsonpointer_walker.h:19:3: error: constructor does not initialize these fields: pointers [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   19 |   GenericPointerWalker(const JSON &document) { this->walk(document, {}); }
      |   ^

/Users/jviotti/Projects/core/src/core/jsonschema/frame.cc:260:8: error: constructor does not initialize these fields: instance_location, relative_instance_location, orphan, parent [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  260 | struct CacheSubschema {
      |        ^
  261 |   const sourcemeta::core::PointerTemplate instance_location;
      |
      |                                                            {}
  262 |   const sourcemeta::core::PointerTemplate relative_instance_location;
      |
      |                                                                     {}
  263 |   const bool orphan;
      |
      |                    {}
  264 |   const std::optional<sourcemeta::core::Pointer> parent;
      |
      |                                                        {}

/Users/jviotti/Projects/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_error.h:28:3: error: constructor does not initialize these fields: message_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   28 |   SchemaError(std::string message) : message_{std::move(message)} {}
      |   ^
   29 |   [[nodiscard]] auto what() const noexcept -> const char * override {
   30 |     return this->message_.c_str();
   31 |   }
   32 |
   33 | private:
   34 |   std::string message_;
      |
      |                       {}

/Users/jviotti/Projects/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_error.h:42:3: error: constructor does not initialize these fields: identifier_, message_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   42 |   SchemaResolutionError(std::string identifier, std::string message)
      |   ^
   43 |       : identifier_{std::move(identifier)}, message_{std::move(message)} {}
   44 |   [[nodiscard]] auto what() const noexcept -> const char * override {
   45 |     return this->message_.c_str();
   46 |   }
   47 |
   48 |   [[nodiscard]] auto id() const noexcept -> std::string_view {
   49 |     return this->identifier_;
   50 |   }
   51 |
   52 | private:
   53 |   std::string identifier_;
      |
      |                          {}
   54 |   std::string message_;
      |
      |                       {}

/Users/jviotti/Projects/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_error.h:62:3: error: constructor does not initialize these fields: uri_, message_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   62 |   SchemaVocabularyError(std::string uri, std::string message)
      |   ^
   63 |       : uri_{std::move(uri)}, message_{std::move(message)} {}
   64 |   [[nodiscard]] auto what() const noexcept -> const char * override {
   65 |     return this->message_.c_str();
   66 |   }
   67 |
   68 |   [[nodiscard]] auto uri() const noexcept -> std::string_view {
   69 |     return this->uri_;
   70 |   }
   71 |
   72 | private:
   73 |   std::string uri_;
      |
      |                   {}
   74 |   std::string message_;
      |
      |                       {}

/Users/jviotti/Projects/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_error.h:82:3: error: constructor does not initialize these fields: identifier_, schema_location_, message_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   82 |   SchemaReferenceError(std::string identifier, const Pointer &schema_location,
      |   ^

/Users/jviotti/Projects/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_error.h:109:3: error: constructor does not initialize these fields: message_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  109 |   SchemaAbortError(std::string message) : message_{std::move(message)} {}
      |   ^
  110 |   [[nodiscard]] auto what() const noexcept -> const char * override {
  111 |     return this->message_.c_str();
  112 |   }
  113 |
  114 | private:
  115 |   std::string message_;
      |
      |                       {}

/Users/jviotti/Projects/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_frame.h:111:3: error: constructor does not initialize these fields: locations_, references_, instances_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  111 |   SchemaFrame(const Mode mode) : mode_{mode} {}
      |   ^

/Users/jviotti/Projects/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_frame.h:117:10: error: constructor does not initialize these fields: original, destination, base, fragment [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  117 |   struct ReferencesEntry {
      |          ^
  118 |     JSON::String original;
      |
      |                          {}
  119 |     JSON::String destination;
      |
      |                             {}
  120 |     // TODO: This string can be a `string_view` over the `destination`
  121 |     std::optional<JSON::String> base;
      |
      |                                     {}
  122 |     // TODO: This string can be a `string_view` over the `destination`
  123 |     std::optional<JSON::String> fragment;
      |
      |                                         {}

/Users/jviotti/Projects/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_frame.h:156:10: error: constructor does not initialize these fields: parent, type, root, base, pointer, relative_pointer, dialect, base_dialect [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  156 |   struct Location {
      |          ^
  157 |     // TODO: Turn this into a weak pointer
  158 |     std::optional<Pointer> parent;
      |
      |                                  {}
  159 |     LocationType type;
  160 |     std::optional<JSON::String> root;
      |
      |                                     {}
  161 |     JSON::String base;
      |
      |                      {}
  162 |     // TODO: Turn this into a weak pointer
  163 |     Pointer pointer;
      |
      |                    {}
  164 |     // TODO: Turn this into a weak pointer
  165 |     Pointer relative_pointer;
      |
      |                             {}
  166 |     JSON::String dialect;
      |
      |                         {}
  167 |     JSON::String base_dialect;
      |
      |                              {}

/Users/jviotti/Projects/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_resolver.h:134:10: error: constructor does not initialize these fields: path, default_dialect, original_identifier, reader, reference_visitor [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  134 |   struct Entry {
      |          ^
  135 |     std::filesystem::path path;
      |
      |                               {}
  136 |     std::optional<std::string> default_dialect;
      |
      |                                               {}
  137 |     std::string original_identifier;
      |
      |                                    {}
  138 |     Reader reader;
      |
      |                  {}
  139 |     SchemaVisitorReference reference_visitor;
      |
      |                                             {}

/Users/jviotti/Projects/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_types.h:183:8: error: constructor does not initialize these fields: type, vocabulary, dependencies [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  183 | struct SchemaWalkerResult {
      |        ^
  184 |   /// The walker strategy to continue traversing across the schema
  185 |   const SchemaKeywordType type;
  186 |   /// The vocabulary associated with the keyword, if any
  187 |   const std::optional<std::string> vocabulary;
      |
      |                                              {}
  188 |   /// The keywords a given keyword depends on (if any) during the evaluation
  189 |   /// process
  190 |   const std::set<std::string> dependencies;
      |
      |                                           {}

/Users/jviotti/Projects/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_types.h:210:8: error: constructor does not initialize these fields: parent, pointer, dialect, vocabularies, base_dialect, subschema, instance_location, relative_instance_location, orphan [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  210 | struct SchemaIteratorEntry {
      |        ^
  211 |   // TODO: Turn this into a weak pointer
  212 |   std::optional<Pointer> parent;
      |
      |                                {}
  213 |   // TODO: Turn this into a weak pointer
  214 |   Pointer pointer;
      |
      |                  {}
  215 |   std::optional<std::string> dialect;
      |
      |                                     {}
  216 |   Vocabularies vocabularies;
      |
      |                            {}
  217 |   std::optional<std::string> base_dialect;
      |
      |                                          {}
  218 |   std::reference_wrapper<const JSON> subschema;
      |
      |                                               {}
  219 |
  220 |   // TODO: These two pointer templates contain some overlap.
  221 |   // Instead, have a `base_instance_location` and a `relative_instance_location`
  222 |   // that when concatenated, represent the full `instance_location`
  223 |   PointerTemplate instance_location;
      |
      |                                    {}
  224 |   PointerTemplate relative_instance_location;
      |
      |                                             {}

/Users/jviotti/Projects/core/src/core/jsonschema/resolver.cc:10:1: error: constructor does not initialize these fields: schemas [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   10 | SchemaMapResolver::SchemaMapResolver() {}
      | ^

/Users/jviotti/Projects/core/src/core/jsonschema/resolver.cc:12:1: error: constructor does not initialize these fields: schemas [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   12 | SchemaMapResolver::SchemaMapResolver(const SchemaResolver &resolver)
      | ^

/Users/jviotti/Projects/core/src/core/jsonschema/resolver.cc:87:1: error: constructor does not initialize these fields: schemas [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   87 | SchemaFlatFileResolver::SchemaFlatFileResolver() {}
      | ^

/Users/jviotti/Projects/core/src/core/jsonschema/resolver.cc:89:1: error: constructor does not initialize these fields: schemas [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   89 | SchemaFlatFileResolver::SchemaFlatFileResolver(const SchemaResolver &resolver)
      | ^

/Users/jviotti/Projects/core/src/core/jsonschema/transformer.cc:27:1: error: constructor does not initialize these fields: name_, message_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   27 | SchemaTransformRule::SchemaTransformRule(std::string &&name,
      | ^

/Users/jviotti/Projects/core/src/core/jsonschema/walker.cc:398:1: error: constructor does not initialize these fields: subschemas [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  398 | sourcemeta::core::SchemaIterator::SchemaIterator(
      | ^

/Users/jviotti/Projects/core/src/core/jsonschema/walker.cc:426:1: error: constructor does not initialize these fields: subschemas [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  426 | sourcemeta::core::SchemaIteratorFlat::SchemaIteratorFlat(
      | ^

/Users/jviotti/Projects/core/src/core/jsonschema/walker.cc:445:1: error: constructor does not initialize these fields: entries [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  445 | sourcemeta::core::SchemaKeywordIterator::SchemaKeywordIterator(
      | ^

/Users/jviotti/Projects/core/src/core/uri/include/sourcemeta/core/uri_error.h:26:3: error: constructor does not initialize these fields: column_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   26 |   URIParseError(const std::uint64_t column) : column_{column} {}
      |   ^
   27 |
   28 |   [[nodiscard]] auto what() const noexcept -> const char * override {
   29 |     return "The input is not a valid URI";
   30 |   }
   31 |
   32 |   /// Get the column number of the error
   33 |   [[nodiscard]] auto column() const noexcept -> std::uint64_t {
   34 |     return column_;
   35 |   }
   36 |
   37 | private:
   38 |   std::uint64_t column_;
      |
      |                        {}

/Users/jviotti/Projects/core/src/core/uri/include/sourcemeta/core/uri_error.h:45:3: error: constructor does not initialize these fields: message_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   45 |   URIError(std::string message) : message_{std::move(message)} {}
      |   ^
   46 |   [[nodiscard]] auto what() const noexcept -> const char * override {
   47 |     return this->message_.c_str();
   48 |   }
   49 |
   50 | private:
   51 |   std::string message_;
      |
      |                       {}

/Users/jviotti/Projects/core/src/core/uri/uri.cc:121:1: error: constructor does not initialize these fields: data, path_, userinfo_, host_, port_, scheme_, fragment_, query_, internal [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  121 | URI::URI(std::string input) : data{std::move(input)}, internal{new Internal} {
      | ^

/Users/jviotti/Projects/core/src/core/uri/uri.cc:125:1: error: constructor does not initialize these fields: data, path_, userinfo_, host_, port_, scheme_, fragment_, query_, internal [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  125 | URI::URI(std::istream &input) : internal{new Internal} {
      | ^

/Users/jviotti/Projects/core/src/core/uri/uri.cc:137:1: error: constructor does not initialize these fields: data, path_, userinfo_, host_, port_, scheme_, fragment_, query_, internal [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
  137 | URI::URI(URI &&other)
      | ^

/Users/jviotti/Projects/core/src/core/yaml/include/sourcemeta/core/yaml_error.h:25:3: error: constructor does not initialize these fields: message_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   25 |   YAMLError(std::string message) : message_{std::move(message)} {}
      |   ^
   26 |   [[nodiscard]] auto what() const noexcept -> const char * override {
   27 |     return this->message_.c_str();
   28 |   }
   29 |
   30 | private:
   31 |   std::string message_;
      |
      |                       {}

/Users/jviotti/Projects/core/src/core/yaml/include/sourcemeta/core/yaml_error.h:38:3: error: constructor does not initialize these fields: message_ [cppcoreguidelines-pro-type-member-init,-warnings-as-errors]
   38 |   YAMLParseError(std::string message) : message_{std::move(message)} {}
      |   ^
   39 |   [[nodiscard]] auto what() const noexcept -> const char * override {
   40 |     return this->message_.c_str();
   41 |   }
   42 |
   43 | private:
   44 |   std::string message_;
      |
      |                       {}

Activity

added a commit that references this issue on Jun 21, 2025
7c6167c
added a commit that references this issue on Jun 23, 2025
5ad7de4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Participants

      @jviotti

      Issue actions

        ClangTidy warnings for `cppcoreguidelines-pro-type-member-init` · Issue #1670 · sourcemeta/core