TGViewer
Open Source: PHP Open Source: PHP @open_source_php · 422 subscribers
Post #27 590

Forwarded from Пых (Валентин Удальцов)

Смерджили мой PR в Brick\Math с Open Source Цеха #4!

https://github.com/brick/math/pull/90

Суть изменения тривиальна: сузить возвращаемый тип BigInteger::__toString() и BigDecimal::__toString() до numeric-string, чтобы после приведения к строке значения можно было передавать в numeric-string и non-empty-string параметры (мне это потребовалось в недрах Typhoon).

Сначала на стриме я попробовал по-честному расставить типы по всей внутрянке, но упёрся в то, что в местах конкатенации numeric-string не выводится и его нужно форсить (прописывать @var или assert). В итоге предложил автору лёгкий путь: зафорсить тип только в самом методе __toString() и больше ничего не менять.

BenMorel согласился с моими доводами и зарелизил улучшение в 0.13.1.

Процесс контрибьютинга от форка до PR:
https://youtu.be/viWYmUUsD5I?t=3900s
https://vkvideo.ru/video-228746873_456239037?t=1h7m20s
GitHub Force numeric-string return type in BigDecimal::__toString() and BigInteger::__toString() by vudaltsov · Pull Request #90 · brick/math Closes #89. @return numeric-string cannot be added to BigRational, because '10/20' is not a numeric string. So I added numeric-string to BigDecimal and BigInteger classes only. This...
  • 👍 1
More from @open_source_php
  1. Sep 17, 2026Простая задача, чтобы вкатиться в ряды контрибьюторов Testo https://github.com/php-testo/t…
  2. Nov 25, 2025True Async PHP Edmond Dantes призывает всех к обсуждению особенностей реализации нашумевше…
  3. Nov 11, 2025Сегодня состоялся релиз open-source админки MoonShine v4! Вкратце по нововведениям рассказ…
  4. Oct 21, 2025🤎 Драйвер для NATS от Thesis! Каждый, кто пишет на Golang, наверняка слышал про NATS. Это…
  5. Oct 13, 2025Есть задачка посложнее. Нужно добавить поддержку игнорирования мутаторов: - infection-igno…
  6. Oct 13, 2025📣 Infection – библиотека для мутационных тестов Infection довольно круто инструменты для…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →