Commit Graph

4571 Commits (c35d260c2fb91b8a53e585d480607a0f088cbbbb)

Author SHA1 Message Date
Niels Lohmann c35d260c2f
Suppress Clang-Tidy warnings (#4276) 2024-01-28 14:04:07 +01:00
ss 6a064e026a
Remove broken link from CONTRIBUTING.md (#4274)
http://issuestats.com domain does not exist anymore
2024-01-28 08:55:49 +01:00
alferov 7efe875495
Update json_has_static_rtti.md (#4269) 2024-01-18 19:21:53 +01:00
Juan Carlos Arevalo Baeza a259ecc51e
Fix `to_json` for enums when the enum has an unsigned underlying type. (#4237)
* Enhance the UDT unit test to expose the issue

Add a new enum type with uint64_t as the underlying type.
Use it in the overall UDT. Not strictly needed, but it helps exercise its expected usage.
Create an object of this enum type with a large value (negative if cast to int64_t).
Perform several checks on this object as converted to `json`, which fail without the fix.

* Fix the issue in the relevant `to_json` overload.

Select the correct json type depending on the signedness of the enum's underlying type.
This fixes the new checks in the unit test.

* Add the fix to the single_include

I ran `make pretty` but that modified 20 files, performing a significant amount of indentation changes, none of them related to my change.
I ran `make amalgamate`, but that did nothing. Apparently, the make rule won't run if the single_include files have already been updated by `make pretty`.
I forced `make amalgamate` to do the work by touching the file with the fix.
I then decided to keep just the minimal needed change: the addition of the fix to the single_include file.

I just am not conversant enough in Linux to know whether I installed astyle correctly (had to clone the source from a beta branch and build, in order to get support for `--squeeze-lines`).

* Resolve CI errors and use qualified `std::uint64_t`

The fix was relying on implicit conversions in the non-taken branch.
- Ordinarily (work on a C++20 codebase) I would have used `if constexpr` here, sidestepping the issue, but that's not available on C++11 so I didn't bother.
- So instead of an `if` statement, I used a compile-time constant to select the correct overload.
- This is arguably better in this case, anyway.

I was using function-style casts for typed constants, which I consider superior for constants, but the CI checks disagree, so changed all to `static_cast`.
- For some reason, the CI checks didn't point at all of them, so I hope I caught them all myself.

Built with clang14 and all unit tests pass.

---------

Co-authored-by: Juan Carlos Arevalo Baeza (JCAB) <jcab@ntdev.microsoft.com>
2023-12-14 09:26:10 +01:00
Niels Lohmann 3780b41dd0
💰 update sponsors 2023-12-06 20:51:04 +01:00
Niels Lohmann 9cca280a4d
JSON for Modern C++ 3.11.3 (#4222) 2023-11-28 22:36:31 +01:00
Colby Haskell 1d597743d8
Fix char_traits deprecation warning (#4179) 2023-11-27 06:51:25 +01:00
Niels Lohmann f56c6e2e30
Update documentation for the next release (#4216) 2023-11-26 15:51:19 +01:00
Vyacheslav Zhdanovskiy 360ce457f4
Add serialization-only user defined type macros (#3816) 2023-11-26 13:18:20 +01:00
Colby Haskell 5d931c59a3
Fix failing CI checks (#4215) 2023-11-25 18:04:59 +01:00
Niels Lohmann 6eab7a2b18
💚 fix documentation deploy 2023-11-01 22:16:27 +01:00
Niels Lohmann 1dfe4073e3
💚 fix documentation deploy 2023-11-01 22:09:53 +01:00
Niels Lohmann 4ffd5bd18e
💚 fix documentation deploy 2023-11-01 22:06:01 +01:00
Niels Lohmann 0261bc04d3
Fix CI (again) (#4196) 2023-11-01 21:23:55 +01:00
Colby Haskell 59da644db4
Add more specific error message when attempting to parse empty input (#4180) 2023-10-31 20:17:43 +01:00
Benjamin Buch cdb29069da
fix cmake header path in install with custom CMAKE_INSTALL_INCLUDEDIR (#4194) 2023-10-31 19:52:54 +01:00
Aleksei Sapitskii 58d6aa5831
Support Apple's Swift Package Manager (#4010)
Co-authored-by: Aleksei <sapial@f-secure.com>
2023-10-21 19:41:10 +02:00
scribam edffad036d
Fix MinGW CI (#4175) 2023-10-04 22:16:48 +02:00
Mathieu Westphal 6adae02ddd
Fix spellcheck issue (#4173) 2023-10-04 15:24:38 +02:00
Vyacheslav Zhdanovskiy 35c0b3e54c
Fix source highlighting in user defined type macros docs (#4169) 2023-10-02 13:09:53 +02:00
Craig Scott fac07e22c5
Accept NEW CMake policies up to CMake 3.14 (#4112)
Starting with CMake 3.27, deprecation warnings are issued
when asking for policy settings for CMake 3.4 or earlier.
The cmake_minimum_required() command accepts a version
range, which allows NEW policy settings up to the upper end
of that range to be used, but without raising the minimum
CMake version above the bottom of that range. This means
NEW policy settings will be used where available, without
requiring them. This change updates the project's
cmake_minimum_required() calls to use a version range to
extend the upper policy version to 3.14 where it wasn't already
at that version or higher. This prevents the deprecation warning
from CMake 3.27, and gives breathing space before a future
CMake release will start issuing similar deprecation warnings
again.
2023-09-25 09:31:26 +02:00
alferov 6d4b72d3c3
Fix compile error with _HAS_STATIC_RTTI=0 (#4046) 2023-09-24 11:23:41 +02:00
Niels Lohmann bbd2e1636d
Fix deprecation warning (#4161) 2023-09-23 20:16:37 +02:00
tomalakgeretkal 6e36c721f0
Fixed init-list construction when size_type is not int (#4140) 2023-09-23 17:21:40 +02:00
miny1233 e75b94b31e
Update index.md (#4159) 2023-09-23 17:20:47 +02:00
Ivor Wanders aa87ab8b40
Capture exceptions by const& in docs. (#4099) 2023-09-23 17:19:50 +02:00
Niels Lohmann 1ce29fa22f
Fix CI (#4160) 2023-09-23 17:19:28 +02:00
HO-COOH 5fec803493
Update index.md (#4149) 2023-09-14 17:46:34 +02:00
Felix Yan da92c0e3e7
Correct a typo in serve_header/README.md (#4143) 2023-09-10 21:49:38 +02:00
Niels Lohmann 836b7beca4
Fix CI, again (#4083) 2023-09-07 20:41:12 +02:00
Ikko Eltociear Ashimine 788e5468e4
Fix typo in afl_driver.cpp (#4109) 2023-09-02 17:16:33 +02:00
taro 6cc0eaf88f
Update CODEOWNERS (#4126) 2023-08-28 22:04:08 +02:00
Niels Lohmann 5d2754306d
💸 add sponsor 2023-06-14 07:39:09 +02:00
No c71ecde505
Use template get instead of get in examples (#4039)
Co-authored-by: tusooa <tusooa@kazv.moe>
2023-06-11 10:06:24 +02:00
Tomerkm 793878898f
Added to tests the file unit-algorithm.cpp (c++ 11) functions from algorithm library (#4044) 2023-06-11 09:59:57 +02:00
gregmarr 254395e5f7
Add to CONTRIBUTING.md that `make pretty` is required for test updates. (#4045) 2023-06-08 18:47:44 +02:00
Niels Lohmann ab06fc9951
Fix Clang-Tidy warnings (#4047) 2023-06-08 18:46:48 +02:00
Niels Lohmann a0c1318830
Fix CI + new Doctest (#3985) 2023-05-21 17:23:18 +02:00
Nicolas Jakob 6af826d0bd
Add Vcpkg port version badge (#3988) 2023-03-24 14:45:47 +01:00
Joyce 546370c9e7
Set minimal permissions to Github Workflows (#3972) 2023-03-13 12:14:35 +01:00
Raphael Grimm bbe337c3a3
Prevent memory leak when exception is thrown in adl_serializer::to_json (#3901)
Co-authored-by: barcode <barcode@example.com>
2023-03-08 13:43:45 +01:00
dependabot[bot] fe4b66355c
⬆️ Bump future from 0.18.2 to 0.18.3 in /docs/mkdocs (#3934)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 13:41:44 +01:00
Joyce 31c00dc729
Refactor amalgamation workflow to avoid dangerous use of pull_request_target (#3969) 2023-03-08 13:41:20 +01:00
Sergei Trofimovich 6cec5aefc9
custom allocators: define missing 'rebind' type (#3895) 2023-03-08 12:31:56 +01:00
theevilone45 b504dca35a
Fix typo in test.cmake (#3951) 2023-03-05 14:12:18 +01:00
Arsen Arsenović 660d0b5856
tests/unit-iterators2: use std::ranges::equals for range comparisons (#3950)
Closes https://github.com/nlohmann/json/issues/3927
2023-03-05 14:11:22 +01:00
haadfida b2306145e1
removed lgtm badge and added Cirrus CI badge (#3937) 2023-02-01 08:19:45 +01:00
Florian Segginger 8fa0d7bb7e
Change 2022 to 2023 (#3932) 2023-01-31 19:24:27 +01:00
Raphael Grimm 233d233439
Fix CI issues (#3906)
Co-authored-by: barcode <barcode@example.com>
2023-01-31 19:23:37 +01:00
Finkman da6b908c4f
PrettyPrinter: Check if match is valid before accessing group (#3920) 2023-01-14 16:07:49 +01:00