Rename Struct property

The workaround provided in Replace unused variable in struct with others - #5 by ericglau refers to a struct within a contract.

If your struct is outside of a contract, you can just specify the original struct (without a contract prefix) in the retyped annotation, e.g.:

import {S1} from "./Types.sol";

contract MyContractV2 {
  /// @custom:oz-retyped-from S1
  S2 s;
}

If the struct type has the same name in both versions (e.g. if both the original and updated struct type are called S), you can do this:

import {S} from "./Types.sol";

contract MyContractV2 {
  /// @custom:oz-retyped-from S
  S s;
}

This looks strange, but the retyped annotation causes the type change to be ignored from the storage comparison. Therefore, as mentioned in the linked posts, you should manually verify that your structs are compatible.