try_create 0.1.2

A small library providing generic traits for fallible and infallible object creation.
Documentation
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- (Nothing yet)

### Changed
- (Nothing yet)

### Fixed
- (Nothing yet)

### Removed
- (Nothing yet)

## [0.1.2] - 2025-07-07
### Added
- Implemented the traits New and TryNew for the fundamental types

### Changed
- N/A

### Fixed
- N/A

### Removed
- N/A


## [0.1.1] - 2025-06-03
### Added
- **Advanced Construction Patterns:**
    - `ValidationPolicy`: Trait to define reusable validation strategies.
        - `Value` associated type for the type to be validated.
        - `Error` associated type for validation failure.
            - Supports `std::error::Error` with `std` feature.
            - Supports `core::fmt::Debug` without `std` feature.
        - `validate_ref(&Self::Value)` method for by-reference validation (must be implemented).
        - `validate(Self::Value)` method for by-value validation (default implementation calls `validate_ref`).
    - `TryNewValidated`: Trait for two-phase construction combining a `ValidationPolicy` with `TryNew`.
        - `Policy` associated type to specify the `ValidationPolicy`.
        - `try_new_validated` default method to apply policy then `TryNew`.

### Changed
- N/A

### Fixed
- N/A

### Removed
- N/A

## [0.1.0] - 2025-05-29

### Added
- **Initial Release**
- **Core Traits:**
    - `IntoInner`: Re-exported from the `into_inner` crate. Defines the input type for construction.
    - `TryNew`: For fallible object creation, returning a `Result`.
        - Supports `std::error::Error` for `Error` type with `std` feature.
        - Supports `core::fmt::Debug` for `Error` type without `std` feature.
    - `New`: For infallible object creation, expected to panic on invalid input.
- **Advanced Construction Patterns:**
    - `ConditionallyCreate`: Trait for conditional creation logic based on build profile (debug vs. release).
        - Uses `TryNew::try_new().expect()` in debug.
        - Uses `New::new()` in release.
- **`no_std` Support:**
    - Library is `no_std` compatible.
    - `std` feature enabled by default, controlling error trait bounds for `TryNew::Error`.
- Comprehensive documentation and examples for all traits.
- Unit tests covering various scenarios, including success, failure, panics, and `no_std` compatibility for error types.

### Changed
- N/A (Initial Release)

### Fixed
- N/A (Initial Release)

### Removed
- N/A (Initial Release)