Why is data location not required to be specified for bytes32?

  • Hello. Please give us more details about your question. What do you mean by "data location not required" ? What exactly are you talking about ? What type would require it ? May 3 at 9:07
  • 2
    @FlorianCastelain In solidity, there are 4 types of data location: storage, calldata, stack and memory. Data location must be explicitly specified in solidity for arrays, bytes and structs. May 3 at 20:06

Whether or not you need to declare memory, storage, or calldata depends on if your variable is a "complex" variable or not. (See the note here.) This means things like structs and arrays. Simpler types are automatically assigned storage - see this question and anwser.

To answer fully, bytes32 will automatically be storage even without a data location declaration.

  • 1
    Thanks, that fully answered it! May 3 at 20:07
  • bytes is a monster that probably should have gotten a different name to distinguish it further from the simple types like bytes32.
    – eth
    May 7 at 1:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.