summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/library/ustruct.rst5
-rw-r--r--tests/cpydiff/modules_struct_whitespace_in_format.py13
2 files changed, 18 insertions, 0 deletions
diff --git a/docs/library/ustruct.rst b/docs/library/ustruct.rst
index 357d622b2..bfcd84e2d 100644
--- a/docs/library/ustruct.rst
+++ b/docs/library/ustruct.rst
@@ -12,6 +12,11 @@ Supported format codes: ``b``, ``B``, ``h``, ``H``, ``i``, ``I``, ``l``,
``L``, ``q``, ``Q``, ``s``, ``P``, ``f``, ``d`` (the latter 2 depending
on the floating-point support).
+.. admonition:: Difference to CPython
+ :class: attention
+
+ Whitespace is not supported in format strings.
+
Functions
---------
diff --git a/tests/cpydiff/modules_struct_whitespace_in_format.py b/tests/cpydiff/modules_struct_whitespace_in_format.py
new file mode 100644
index 000000000..dd0f8b48f
--- /dev/null
+++ b/tests/cpydiff/modules_struct_whitespace_in_format.py
@@ -0,0 +1,13 @@
+"""
+categories: Modules,struct
+description: Struct pack with whitespace in format, whitespace ignored by CPython, error on uPy
+cause: MicroPython is optimised for code size.
+workaround: Don't use spaces in format strings.
+"""
+import struct
+
+try:
+ print(struct.pack('b b', 1, 2))
+ print('Should have worked')
+except:
+ print('struct.error')