Skip to content

migrate: port ULID module from src/util to core/types with zero warnings - #150

Merged
flyingrobots merged 1 commit into
mainfrom
migrate/ulid-to-core
Jul 8, 2025
Merged

migrate: port ULID module from src/util to core/types with zero warnings#150
flyingrobots merged 1 commit into
mainfrom
migrate/ulid-to-core

Conversation

@flyingrobots

Copy link
Copy Markdown
Owner

This PR migrates the ULID module from src/util to core/types with zero warnings.

  • Created new ULID module in core/types with modern API
  • Implemented all ULID functions with Result types
  • Added comprehensive test coverage
  • Fixed C23 compatibility issues
  • Deleted old implementation from src/util

All tests pass with zero warnings across all 6 compilers in THE DEVIL'S COMPILER GAUNTLET 666.

- Create new ULID module in core/types/ with modern API
- Implement gm_ulid_generate() and gm_ulid_generate_with_timestamp()
- Add validation, timestamp extraction, and comparison functions
- Use Result types for all error handling
- Add comprehensive test coverage with 8 test cases
- Fix C23 compatibility (use thrd_sleep instead of usleep)
- Use context-based crypto backend for random number generation
- Delete old implementation from src/util/
- Update meson.build to include new module

The ULID module now provides cryptographically secure, lexicographically
sortable identifiers with millisecond precision timestamps. All functions
follow the project's zero-warning standards and pass THE DEVIL'S COMPILER
GAUNTLET 666 across 6 C23 compilers.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@flyingrobots
flyingrobots merged commit d29e601 into main Jul 8, 2025
13 checks passed
@flyingrobots
flyingrobots deleted the migrate/ulid-to-core branch July 8, 2025 19:37
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.

1 participant