servo / euclid

Geometry primitives (basic linear algebra) for Rust
Other
458 stars 102 forks source link

Various refactorings #411

Closed Mingun closed 4 years ago

Mingun commented 4 years ago

Part of large changeset, which includes also #410. Aimed to improve ergonomics, fill gaps in the API and overall consistency.

Mingun commented 4 years ago

As the number of commits approaches an obscene large number, I decided to finish part of them in this PR. All but the last are completely backward compatible. The last changes the type requirements for the *Assign operators and technically is a breaking change. However, it is highly unlikely that it will break anything in user code, because I'm bet that Point types always instantiated with types where the implementation of ordinary and *Assign operators is the same.

This does not mean that I propose to make this change in the patch, but this change can raise the version to 0.21 without the danger of actually breaking the user code. Although, if you don't want to take risks, I can exclude it from this PR and include it in one of my next PR with such breaking changes.


Summary of changes:

nical commented 4 years ago

Sorry for the delay. Please remove the *Assign operators for now. The change is not particularly important so even if it isn't likely to break much code, let's just bundle it with the other breaking changes since there are going to be some. The rest looks good at a glance.

Mingun commented 4 years ago

Done

nical commented 4 years ago

@Mingun thanks, there are a few build errors which should be straightforward to fix.

Mingun commented 4 years ago

The costs of frequent rebases, although I thought I tested all commits for buildable :/. Now all commits buildable

nical commented 4 years ago

Thank you for your patience.

@bors-servo r+

bors-servo commented 4 years ago

:pushpin: Commit 444db0c has been approved by nical

bors-servo commented 4 years ago

:hourglass: Testing commit 444db0c0e0c736d89eeb6ede8a18b46c2522f6d8 with merge 190adc0701e57048d44ddbd725fee01221fca2ba...

bors-servo commented 4 years ago

:sunny: Test successful - checks-travis Approved by: nical Pushing 190adc0701e57048d44ddbd725fee01221fca2ba to master...