Commit Graph

2284 Commits

Author SHA1 Message Date
Sébastien Crozet e417ec86d7
Merge pull request #931 from CAD97/patch-2
Rotation::matrix_mut_unchecked may not cause UB
2021-07-06 01:08:34 -07:00
CAD97 314b4dd103 Remove scalar bound from geometry type defs
This was inconsistently applied, with some types having <T>, some having
<T: Scalar>, and some having <T: RealField>.
This unifies all types to match the convention of Matrix:
Just declare <T> at type def time, and apply bounds on impls only.

A significant advantage of this approach is const fn construction. Const
fn generics currently still can't have trait bounds, so any generic
const fn needs to only move opaque types around. Construction methods
such as new_unchecked or from_parts can be made const by removing their
generic bounds after this PR.

Actual constification is left to a follow-up PR.

Note that na::Transform is _not_ loosened here, as it has more complicated
definition requirements.
2021-07-05 19:04:10 -05:00
Christopher Durham 1eeaf3526c
Rotation::matrix_mut_unchecked may not cause UB
...because it isn't unsafe, so clarify the documentation to match.
2021-07-05 18:53:11 -05:00
Christopher Durham 3b4b661756
impl Hash for Transform
This just fixes the types in the existing TODO to compile.
2021-07-05 18:36:33 -05:00
Sébastien Crozet b10711e66e
Merge pull request #927 from remilauzier/dev
Fix some clippy warnings
2021-07-05 06:55:26 -07:00
Sébastien Crozet 5b2b174b8b
Merge pull request #928 from CAD97/moar-const
Add a couple trivial const fn conversions
2021-07-05 06:55:17 -07:00
CAD97 e77a97e854 Add a couple trivial const fn conversions 2021-07-04 17:42:39 -05:00
Rémi Lauzier 78da5209e9
Fix some clippy warnings 2021-07-03 23:43:45 -04:00
Andreas Longva 92c26334ec Fix serde impls and Distribution impl for OPoint 2021-07-02 12:01:01 +02:00
CAD97 396d3d6615 Add missing repr(C) on bytemuckable geometry types 2021-06-28 20:49:57 -05:00
CAD97 cb0812aaf3 Add bytemuck impls to geometry types 2021-06-28 20:36:28 -05:00
Crozet Sébastien 16b8f4812d Define OPoint, a generic point with D: DimName
And define Point<T, const D: usize> as an alias for OPoint.
2021-06-26 18:39:20 +02:00
Violeta Hernández d659747fa4 `&self` → `self` on `Copy` types. 2021-06-18 12:53:38 -05:00
Cryptjar 1554c0114e Fix unsoundness in `into_slice` by adding `ContiguousStorage` bound. 2021-06-18 13:18:33 +02:00
Sébastien Crozet 0312981a4f
Merge pull request #921 from OfficialURL/ptr_alias
Fixed potential UB
2021-06-18 09:49:41 +02:00
Violeta Hernández 281b140365
Fix most clippy warnings 2021-06-18 09:45:37 +02:00
Violeta Hernández c5f240cc28 Fixed potential UB 2021-06-17 19:51:00 -05:00
Cryptjar 801d8a61a6 Add a `From` impl to convert `DVectorSlice[mut]` back to into a slice. 2021-06-18 02:50:10 +02:00
Cryptjar 498b377d0e Add `into_slice[_mut]` and impl to SliceStorage[Mut]. 2021-06-18 02:42:03 +02:00
Sébastien Crozet 38add0b00d
Fix potential undoundness with Storage::as_slice and Storage::as_mut_slice (#905) 2021-06-17 09:46:49 +02:00
Violeta Hernández d64e799fc9
Fixes #909 (#917) 2021-06-17 09:45:33 +02:00
Violeta Hernández 7643a24cc1
`Result<(), ()>` to `bool` (#916) 2021-06-17 09:44:06 +02:00
Violeta Hernández 885bbdaf97
Implemented `SliceRange` for `RangeInclusive` (#911) 2021-06-17 09:42:47 +02:00
Sébastien Crozet 2287e5088a
Merge pull request #904 from CattleProdigy/coo-push-mat
Add push_matrix fcn to COO
2021-06-14 14:39:16 +02:00
Paul Jakob Schroeder e6e7efba8a COO: add push_matrix fn
- This function allows one to add entire dense matrices
to a sparse COO matrix.
- Added a small mention of this new function in the
example in lib.rs
2021-06-08 10:05:50 -04:00
Sébastien Crozet 543f964610
Merge pull request #851 from MalteT/dev
Annotate functions with #[must_use] where appropriate
2021-06-08 11:01:33 +02:00
Malte Tammena 9eb9ad603f Add `get_mut` annotations (second try) 2021-06-07 17:24:43 +02:00
Malte Tammena 38e9a5da33 Annotate `get_mut`/`slice`-like functions with `#[must_use]` 2021-06-07 17:15:36 +02:00
Malte Tammena e1fe76235f Normalize `#[must_use]` hints 2021-06-07 16:44:59 +02:00
Malte Tammena 9fb963017f Simplify default `#[must_use]` annotation 2021-06-07 16:34:03 +02:00
Malte Tammena 42a2c74571 Finish initial must_use annotations 2021-06-06 15:28:37 +02:00
Malte Tammena 39aa52d019 Add must_use annotations in src/**/*.rs 2021-06-06 14:46:36 +02:00
Malte Tammena d85c10a73c Add some missing question marks 2021-06-06 11:34:29 +02:00
Malte Tammena 925fc1edd7 Annotate functions with #[must_use] where appropriate 2021-06-06 11:28:12 +02:00
Crozet Sébastien d7288bfd28 Release v0.27.1 2021-06-04 11:08:54 +02:00
Sébastien Crozet 51312d1d54
Merge pull request #903 from dimforge/glam-conversion-bug
Fix bug in the glam conversion Vec2 -> Isometry2
2021-06-04 11:06:50 +02:00
Crozet Sébastien 7acd4ecdcc Fix bug in the glam conversion Vec2 -> Isometry2 2021-06-04 10:52:28 +02:00
Crozet Sébastien dfc8ad3d6a Release v0.27.0 2021-06-02 15:15:17 +02:00
Sébastien Crozet de705a8072
Merge pull request #900 from dimforge/glam-multiversion
Support multiple version of the optional glam conversion
2021-06-01 11:10:57 +02:00
Crozet Sébastien 47a4f52e8d Replace unchecked glam conversion by TryFrom or checks 2021-06-01 10:48:24 +02:00
Crozet Sébastien 4af979c55b Support multiple version of the optional glam conversion 2021-06-01 10:27:32 +02:00
Sébastien Crozet ef3257bcb8
Merge pull request #899 from dimforge/point_macro
Add a point! macro for constructing points
2021-05-25 09:51:50 +02:00
Crozet Sébastien 0490a844fb Fix typo 2021-05-24 18:10:26 +02:00
Crozet Sébastien d6d2a3e968 Fix macros tests. 2021-05-24 18:00:30 +02:00
Crozet Sébastien 8810b85a2f Add a point! macro for construction points
This macro is similar to the `vector!` macro, except that it builds a point instead of a vector.
2021-05-24 17:53:59 +02:00
Sébastien Crozet f9a128a6e7
Merge pull request #894 from dfarnham/dev
Fix docs on csc_data(), csc_data_mut()
2021-05-10 11:45:16 +02:00
Dave Farnham 79ef862fe9 Fix docs on csc_data(), csc_data_mut() 2021-05-09 14:58:26 -06:00
Sébastien Crozet fb7c22f386
Merge pull request #891 from djkoloski/dev
Add partial `rkyv` support
2021-05-09 18:58:33 +02:00
David Koloski 9fff10b1f0 Move rkyv impls into separate modules 2021-05-09 12:24:07 -04:00
David Koloski 38dd3345e0 Switch to distributive implementations 2021-05-09 12:24:03 -04:00