Bug 23600 – [std.format.read] formattedRead static asserts with Tuple and compile time format string

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2023-01-04T21:32:40Z
Last change time
2023-01-05T20:18:36Z
Keywords
pull
Assigned to
No Owner
Creator
João Lourenço

Comments

Comment #0 by jlourenco5691 — 2023-01-04T21:32:40Z
```d import std; void main() { Tuple!(int, float) t; "1 2.34".formattedRead!"%d %f"(t); } ``` This code sample static asserts but correctly runs when passing the format string at run time. This happens because the format check is performed on the Tuple type instead of its Types.
Comment #1 by dlang-bot — 2023-01-04T21:52:09Z
@iK4tsu updated dlang/phobos pull request #8661 "Fix: [std.format.read] formattedRead static asserts with Tuple and compile time format string" fixing this issue: - fix(format.read): formattedRead incorrectly static asserts with Tuple and compile-time format string This method supports std.typecons.Tuple, however, when passing the format string at compile-time, the format validation does not correctly account for the std.typecons.Tuple's types and instead validates the std.typecons.Tuple itself leading to a static assert. This change now adds support for this feature when used with compile-time format strings. Fix Issue #23600 Signed-off-by: João Lourenço <[email protected]> https://github.com/dlang/phobos/pull/8661
Comment #2 by dlang-bot — 2023-01-05T20:18:36Z
dlang/phobos pull request #8661 "Fix: [std.format.read] formattedRead static asserts with Tuple and compile time format string" was merged into master: - c4192e855e4fefe6e40e62d7994decce47d21fa1 by João Lourenço: fix(format.read): formattedRead incorrectly static asserts with Tuple and compile-time format string This method supports std.typecons.Tuple, however, when passing the format string at compile-time, the format validation does not correctly account for the std.typecons.Tuple's types and instead validates the std.typecons.Tuple itself leading to a static assert. This change now adds support for this feature when used with compile-time format strings. Fix Issue #23600 Signed-off-by: João Lourenço <[email protected]> https://github.com/dlang/phobos/pull/8661