diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 0270d66..d95635d 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -13,12 +13,12 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Nim - uses: jiro4989/setup-nim-action@v1 + uses: jiro4989/setup-nim-action@v2 with: - nim-version: 1.6.12 + nim-version: 2.2.8 - name: Build docs run: nimble docs diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 515bd21..e2932fe 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -17,23 +17,24 @@ jobs: build: if: "github.event.pull_request.draft == false && ! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" strategy: + fail-fast: false matrix: - nim: ['1.6.12', 'devel'] + nim: ['1.6.12', '2.2.8', 'devel'] os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Cache nimble id: cache-nimble - uses: actions/cache@v1 + uses: actions/cache@v4 with: path: ~/.nimble key: ${{ runner.os }}-nimble-${{ hashFiles('*.nimble') }} if: runner.os != 'Windows' - name: Set up Nim - uses: jiro4989/setup-nim-action@v1 + uses: jiro4989/setup-nim-action@v2 with: nim-version: ${{ matrix.nim }} diff --git a/src/deser/des/helpers.nim b/src/deser/des/helpers.nim index 5af7a96..6046882 100644 --- a/src/deser/des/helpers.nim +++ b/src/deser/des/helpers.nim @@ -299,51 +299,51 @@ Generate forward declarations and default implementation for [Visitor](#visitor) # default implementation proc visitBool[Self: selfType](self: Self, value: bool): self.Value = raiseInvalidType(initUnexpectedBool(value), self) - result = default(self.Value) + proc visitInt8[Self: selfType](self: Self, value: int8): self.Value = self.visitInt64(value.int64) proc visitInt16[Self: selfType](self: Self, value: int16): self.Value = self.visitInt64(value.int64) proc visitInt32[Self: selfType](self: Self, value: int32): self.Value = self.visitInt64(value.int64) proc visitInt64[Self: selfType](self: Self, value: int64): self.Value = raiseInvalidType(initUnexpectedSigned(value), self) - result = default(self.Value) + proc visitUint8[Self: selfType](self: Self, value: uint8): self.Value = self.visitUint64(value.uint64) proc visitUint16[Self: selfType](self: Self, value: uint16): self.Value = self.visitUint64(value.uint64) proc visitUint32[Self: selfType](self: Self, value: uint32): self.Value = self.visitUint64(value.uint64) proc visitUint64[Self: selfType](self: Self, value: uint64): self.Value = raiseInvalidType(initUnexpectedUnsigned(value), self) - result = default(self.Value) + proc visitFloat32[Self: selfType](self: Self, value: float32): self.Value = self.visitFloat64(value.float64) proc visitFloat64[Self: selfType](self: Self, value: float64): self.Value = raiseInvalidType(initUnexpectedFloat(value), self) - result = default(self.Value) + proc visitChar[Self: selfType](self: Self, value: char): self.Value = self.visitString($value) proc visitString[Self: selfType](self: Self, value: sink string): self.Value = raiseInvalidType(initUnexpectedString(value), self) - result = default(self.Value) + proc visitBytes[Self: selfType](self: Self, value: openArray[byte]): self.Value = raiseInvalidType(initUnexpectedBytes(@value), self) - result = default(self.Value) + proc visitNone[Self: selfType](self: Self): self.Value = raiseInvalidType(initUnexpectedOption(), self) - result = default(self.Value) + proc visitSome[Self: selfType](self: Self, deserializer: var auto): self.Value = raiseInvalidType(initUnexpectedOption(), self) - result = default(self.Value) + proc visitSeq[Self: selfType](self: Self, sequence: var auto): self.Value = raiseInvalidType(initUnexpectedSeq(), self) - result = default(self.Value) + proc visitMap[Self: selfType](self: Self, map: var auto): self.Value = raiseInvalidType(initUnexpectedMap(), self) - result = default(self.Value) + {.pop.}