Skip to content

Remove std::format from c++ code to support _LIBCPP_STD_VER < 20#571

Merged
mlodyjesienin merged 1 commit intomainfrom
@mlodyjesienin/remove-stdformat
Sep 1, 2025
Merged

Remove std::format from c++ code to support _LIBCPP_STD_VER < 20#571
mlodyjesienin merged 1 commit intomainfrom
@mlodyjesienin/remove-stdformat

Conversation

@mlodyjesienin
Copy link
Copy Markdown
Contributor

Description

the c++ 20 std::format relies on c++ 17 std::to_char which was introduced later in libc++ effectively meaning that no build with target < iOS 16.3 can use std::format, (see this)

The simplest solution is to basically remove all std::format for now.

The more future-realistic solutions could be considered.
To see the more verbose discussion go to #570.

Introduces a breaking change?

  • Yes
  • No

Type of change

  • Bug fix (change which fixes an issue)
  • New feature (change which adds functionality)
  • Documentation update (improves or adds clarity to existing documentation)
  • Other (chores, tests, code style improvements etc.)

Tested on

  • iOS
  • Android

Testing instructions

Screenshots

Related issues

Checklist

  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have updated the documentation accordingly
  • My changes generate no new warnings

Additional notes

@mlodyjesienin mlodyjesienin requested review from chmjkb and mkopcins and removed request for chmjkb August 29, 2025 15:44
@mlodyjesienin mlodyjesienin merged commit b31c32f into main Sep 1, 2025
2 checks passed
@mlodyjesienin mlodyjesienin deleted the @mlodyjesienin/remove-stdformat branch September 1, 2025 08:07
mkopcins pushed a commit that referenced this pull request Sep 2, 2025
)

the c++ 20 `std::format` relies on c++ 17 `std::to_char` which was
introduced later in libc++ effectively meaning that no build with target
< iOS 16.3 can use `std::format`, (see
[this](https://developer.apple.com/xcode/cpp/#c++17))

The simplest solution is to basically remove all `std::format` for now.

The more future-realistic solutions could be considered.
To see the more verbose discussion  go to #570.

- [ ] Yes
- [x] No

- [x] Bug fix (change which fixes an issue)
- [ ] New feature (change which adds functionality)
- [ ] Documentation update (improves or adds clarity to existing
documentation)
- [ ] Other (chores, tests, code style improvements etc.)

- [x] iOS
- [ ] Android

<!-- Provide step-by-step instructions on how to test your changes.
Include setup details if necessary. -->

<!-- Add screenshots here, if applicable -->

<!-- Link related issues here using #issue-number -->

- [x] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have updated the documentation accordingly
- [x] My changes generate no new warnings

<!-- Include any additional information, assumptions, or context that
reviewers might need to understand this PR. -->
chmjkb pushed a commit that referenced this pull request Sep 3, 2025
)

## Description

the c++ 20 `std::format` relies on c++ 17 `std::to_char` which was
introduced later in libc++ effectively meaning that no build with target
< iOS 16.3 can use `std::format`, (see
[this](https://developer.apple.com/xcode/cpp/#c++17))

The simplest solution is to basically remove all `std::format` for now. 

The more future-realistic solutions could be considered. 
To see the more verbose discussion  go to #570.
### Introduces a breaking change?

- [ ] Yes
- [x] No

### Type of change

- [x] Bug fix (change which fixes an issue)
- [ ] New feature (change which adds functionality)
- [ ] Documentation update (improves or adds clarity to existing
documentation)
- [ ] Other (chores, tests, code style improvements etc.)

### Tested on

- [x] iOS
- [ ] Android

### Testing instructions

<!-- Provide step-by-step instructions on how to test your changes.
Include setup details if necessary. -->

### Screenshots

<!-- Add screenshots here, if applicable -->

### Related issues

<!-- Link related issues here using #issue-number -->

### Checklist

- [x] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have updated the documentation accordingly
- [x] My changes generate no new warnings

### Additional notes

<!-- Include any additional information, assumptions, or context that
reviewers might need to understand this PR. -->
KnextKoder pushed a commit to Synkhiv/react-native-executorch that referenced this pull request Nov 7, 2025
…oftware-mansion#571)

## Description

the c++ 20 `std::format` relies on c++ 17 `std::to_char` which was
introduced later in libc++ effectively meaning that no build with target
< iOS 16.3 can use `std::format`, (see
[this](https://developer.apple.com/xcode/cpp/#c++17))

The simplest solution is to basically remove all `std::format` for now. 

The more future-realistic solutions could be considered. 
To see the more verbose discussion  go to software-mansion#570.
### Introduces a breaking change?

- [ ] Yes
- [x] No

### Type of change

- [x] Bug fix (change which fixes an issue)
- [ ] New feature (change which adds functionality)
- [ ] Documentation update (improves or adds clarity to existing
documentation)
- [ ] Other (chores, tests, code style improvements etc.)

### Tested on

- [x] iOS
- [ ] Android

### Testing instructions

<!-- Provide step-by-step instructions on how to test your changes.
Include setup details if necessary. -->

### Screenshots

<!-- Add screenshots here, if applicable -->

### Related issues

<!-- Link related issues here using #issue-number -->

### Checklist

- [x] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have updated the documentation accordingly
- [x] My changes generate no new warnings

### Additional notes

<!-- Include any additional information, assumptions, or context that
reviewers might need to understand this PR. -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants