Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • pypy pypy
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 675
    • Issues 675
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 13
    • Merge requests 13
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PyPyPyPy
  • pypypypy
  • Issues
  • #3644
Closed
Open
Issue created Jan 21, 2022 by Aristotelis Mikropoulos@amikrop

Frozen dataclass exception reraise

Raising an exception decorated as a frozen dataclass, inside an except clause, causes dataclasses.FrozenInstanceError: cannot assign to field '__context__'.

This code works as expected (raises MyException) on CPython 3.8.9 (and all versions after that too), but not on PyPy 3.8.12 (7.3.7):

from dataclasses import dataclass

@dataclass(frozen=True)
class MyException(Exception):
    code: int

try:
    1 / 0
except ZeroDivisionError:
    raise MyException(3)
Edited Jan 22, 2022 by Aristotelis Mikropoulos
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking