Commit Graph

5802 Commits

Author SHA1 Message Date
Daniel Krügler
c03288b0a7 - Rename is_not_recursive_range to is_nonrecursive_range and add comment that explains it being depending on is_range being true
- Merge has_fallback_formatter_delayed into is_formattable_delayed and add comment that explains it being depending on is_not_recursive_range being true
- Replace disjunction in formatter specialization by has_fallback_formatter_delayed
- Get rid of unneeded detail:: prefixes within namespace detail
2022-07-10 09:16:17 +02:00
Daniel Krügler
bfff7ed4b7 Comma fix 2022-07-06 20:32:19 +02:00
Daniel Krügler
7b05da767b Reintroduce previous workaround but restrict to VS 2015 for now 2022-07-06 20:22:47 +02:00
Daniel Krügler
e4c2e72a18 Use own bool_constant, which is available for all C++ versions 2022-07-06 20:02:10 +02:00
Daniel Krügler
a1ec9fc771 #2968: Eliminate preprocessor condition that enables the test for the formatter specialization for std::filesystem::path 2022-07-06 19:57:20 +02:00
Daniel Krügler
c6f372bb38 #2968: Eliminate preprocessor condition that enables the formatter specialization for std::filesystem::path 2022-07-06 19:55:19 +02:00
Daniel Krügler
26a28441d3 #2968: Introduce additional compile-time predicate to detect recursive ranges and reject them in formatter specialization for ranges. In addition, introduce additional wrapper traits for the individual logical operands of the complete range constraints 2022-07-06 19:53:40 +02:00
Daniel Krügler
6d14574087 Eliminate extra-test and merge it into existing std-test instead. Add conditionals for filesystem::path testing that does not run into the ambiguity problem. 2022-07-05 17:11:03 +02:00
Daniel Krügler
d51148599a 2954: Add test case 2022-07-05 17:09:40 +02:00
Victor Zverovich
c4ee726532 Update version 2022-07-04 09:50:06 -07:00
Victor Zverovich
fa2eb2d2e3 Bump version 2022-07-04 09:37:29 -07:00
Victor Zverovich
35f72bf210 Bump version 2022-07-04 09:10:55 -07:00
Victor Zverovich
d22f00d7e4 Update changelog 2022-07-04 09:01:56 -07:00
Victor Zverovich
4e8d215606 Update changelog 2022-07-04 08:56:18 -07:00
Victor Zverovich
84eecb6561 Prune CI configs 2022-07-04 08:51:35 -07:00
Victor Zverovich
55727e3b21 More compile-time checks 2022-07-04 08:25:27 -07:00
Victor Zverovich
1010b7f148 Update docs 2022-07-04 08:18:44 -07:00
Victor Zverovich
2ac51fc448 Update changelog 2022-07-04 08:13:27 -07:00
Vladislav Shchapov
831132293b Workaround for Microsoft Visual Studio 2022 Internal compiler error.
D:\a\fmt\fmt\test\compile-test.cc(362,3): fatal error C1001: Internal compiler error. [D:\a\fmt\build\test\compile-test.vcxproj]
(compiler file 'D:\a\_work\1\s\src\vctools\Compiler\CxxFE\sl\p1\c\constexpr\constexpr.cpp', line 8635)

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-07-04 07:18:21 -07:00
Vladislav Shchapov
115e00e0b9 Replace __cplusplus with FMT_CPLUSPLUS.
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-07-04 07:18:21 -07:00
Vladislav Shchapov
94114b05ca New CI: Microsoft Visual Studio 2022.
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-07-04 07:18:21 -07:00
Daniel Krügler
d2a2320820
Fix partial specialization problem for filesystem for Visual Studio (#2957)
* #2954: Provide std::conjunction and std::disjunction substitutes

* #2954: Use conjunction and disjunction substitute to make formatter specializations for ranges and maps more robust (especially for Visual Studio compiler family)

* #2954: As workaround for older MSVC compilers split formatter<std::filesystem::path> partial template specialization into two explicit specialization.

* 2954: Add test case

* Provide simplified implementations of conjunction and disjunction

* Remove workaround explicit specializations if the partial specialization would cause an ambiguity error

* Eliminate extra-test and merge it into existing std-test instead. Add conditionals for filesystem::path testing that does not run into the ambiguity problem.
2022-07-03 11:06:54 -07:00
Victor Zverovich
0c06c81da8 Deprecated implicit conversion of enums to ints for consistency with scoped enums 2022-07-03 09:02:22 -07:00
Vladislav Shchapov
c12b4c0cf1 New CI: GCC-8 C++17, Clang-8 C++17.
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-07-02 08:34:52 -07:00
Vladislav Shchapov
99bb5b1d17 Fix std::variant, std::filesystem::path tests on GCC-8, Clang-7,8.
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-07-02 08:34:52 -07:00
Victor Zverovich
e29c2bc60e Update docs 2022-06-30 08:13:34 -07:00
Victor Zverovich
c65e4286bf Update changelog 2022-06-29 09:02:08 -07:00
Victor Zverovich
69c24e47e8 Update changelog 2022-06-28 11:00:56 -07:00
jehelset
6a775e9560
Add support for 'std::variant' in C++17 (#2941)
Add support for 'std::variant' in C++17.

For C++17, if all the alternatives of a variant are formattable
the variant is now also formattable. In addition 'std::monostate'
is now formattable.

Moves implementation into 'std.h', and tests into 'std-test.cc'.

Avoid fold-expression since MSVC was crashing.

Add section for 'fmt/std.h' in API-docs.
2022-06-26 07:28:01 -07:00
Victor Zverovich
51535866d0 Update docs 2022-06-25 09:13:29 -07:00
Victor Zverovich
3ef5caa9fe Update docs 2022-06-25 09:11:10 -07:00
Victor Zverovich
dccd3e6742 Fix docs 2022-06-25 09:04:31 -07:00
Victor Zverovich
9cb02aaaad Fix UDLs 2022-06-25 08:52:10 -07:00
Victor Zverovich
e6d478f8e8 Update changelog and docs 2022-06-25 08:33:57 -07:00
Victor Zverovich
2d931b1497 Add fmt::streamed 2022-06-24 09:26:24 -07:00
Victor Zverovich
0506a5733d Update changelog 2022-06-24 09:04:56 -07:00
Jonathan W
e8bd2a804d
Fix enable_ifs for map formatter (#2944) 2022-06-23 08:24:11 -07:00
Victor Zverovich
7c56e11ecf Update changelog 2022-06-23 07:40:56 -07:00
Victor Zverovich
69a20db081 Update changelog and fix an apidoc comment 2022-06-22 08:32:46 -07:00
Victor Zverovich
7a2a97c882 Update changelog 2022-06-22 07:31:34 -07:00
jehelset
5682338891
Fix is_formattable for tuple-like types. (#2940) 2022-06-19 08:25:58 -07:00
Vladislav Shchapov
f0de128449 Remove /source-charset:utf-8 compile option.
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-06-19 07:37:39 -07:00
Victor Zverovich
eaa8efb950 Fix ofstream handling in msvc 2022-06-16 15:02:33 -07:00
Victor Zverovich
fb991e9d3b Update changelog 2022-06-12 12:17:39 -07:00
Juraj
8e47cfd1cd fix -Wsign-conversion warning 2022-06-11 12:31:33 -07:00
David Chisnall
2471875867 Make the tests pass on a CHERI system. 2022-06-10 07:02:03 -07:00
Victor Zverovich
b135f1c014 Refactor handling of argument types 2022-06-09 17:03:33 -07:00
Victor Zverovich
f61a1e8132 Add format_arg_types 2022-06-09 15:50:30 -07:00
Mattes D
48b7e3dafb Added a FMT_STRING wrapper for system_error() call.
This enables the use of FMT_ENFORCE_COMPILE_STRING on MSVC 2019.
2022-06-07 07:00:57 -07:00
Victor Zverovich
4bb3af7a6b Improve compile-time checks 2022-06-05 13:58:04 -07:00