openlang

Solc 0.7.0 отклоняет создание struct с полем mapping

Через npm у меня установлен Solc версии 0.7.0. Создание Struct с mapping внутри выдаёт сообщение: "Struct containing a (nested) mapping cannot be constructed."

Вот код, который стоит посмотреть:

// SPDX-License-Identifier: MIT
pragma solidity 0.7.0;

contract Store {
  struct Submission {
    uint256 amount;
    mapping(address => bool) votes;
  }
  Submission[] public submissions;
    ...

  function addSubmission(
    uint256 amount
  ) public {
    Submission memory fresh = Submission({ // compiler reports the error here
      amount: amount
    });

    submissions.push(fresh);
  }
}

С более ранними версиями solc этот же код успешно собирается.

Спасибо за внимание!

Переведено с английскогоПоказать оригинал

Разговор продолжается 2

Следуя доводам

Другие стороны того же вопроса

  1. Проверка наличия подходящего элемента в массиве D

    для ассоциативных массивов можно так а как сделать это с обычным массивом? Мне нужно выражение для проверки, например

    Ответы 2Последняя активность d
  2. rows.Next вернул false, а ошибка потерялась

    Маленькая утилита на database/sql вернула половину списка. Без ошибки. Код такой. Контекст с дедлайном. Дедлайн истёк посреди…

    Ответы 3Последняя активность sqlgo
  3. Частичный индекс и параметр в условии WHERE

    Пишу небольшой job runner на Go для учебного проекта. Стек: pgx v5 через database/sql, локально Postgres 16, таблица jobs при…

    Ответы 10Последняя активность sqlgo