Skip to content

Fallback {float} to f32 when f32: From<{float}> and add impl From<f16> for f32 #139087

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

beetrees
Copy link
Contributor

@beetrees beetrees commented Mar 28, 2025

Currently, the following code compiles:

fn foo<T: Into<f32>>(_: T) {}

fn main() {
    foo(1.0);
}

This is because the only From<{float}> impl for f32 is currently From<f32>. However, once impl From<f16> for f32 is added this is no longer the case. This would cause the float literal to fallback to f64, subsequently causing a type error as f32 does not implement From<f64>. While this kind of change to type inference isn't technically a breaking change according to Rust's breaking change policy, the previous attempt to add impl From<f16> for f32 was removed #123830 due to the large number of crates affected (by my count, there were root regressions in 42 crates and 52 GitHub repos, not including duplicates). This PR solves this problem by using f32 as the fallback type for {float} when there is a trait predicate of f32: From<{float}>. This allows adding impl From<f16> for f32 without affecting the code that currently compiles (such as the example above; this PR shouldn't affect what is possible on stable).

This PR also allows adding a future-incompatibility warning for the fallback to f32 (currently implemented in the third commit) if the lang team wants one (allowing the f32 fallback to be removed in the future); alternatively this could be expanded in the future into something more general like @tgross35 suggested in #123831 (comment). I think it would be also possible to disallow the f32 fallback in a future edition.

As expected, a crater check showed no non-spurious regressions.

For reference, I've based the implementation loosely on the existing calculate_diverging_fallback. This first commit adds the f32 fallback, the second adds impl From<f16> for f32, and the third adds a FCW lint for the f32 fallback. I think this falls under the types team, so
r? types

Fixes: #123831
Tracking issue: #116909

@rustbot label +T-lang +T-types +T-libs-api +F-f16_and_f128

To decide on whether a future-incompatibility warning is desired or otherwise (see above):
@rustbot label +I-lang-nominated

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Mar 28, 2025
@rustbot
Copy link
Collaborator

rustbot commented Mar 28, 2025

Some changes occurred in src/tools/clippy

cc @rust-lang/clippy

@rustbot rustbot added T-lang Relevant to the language team, which will review and decide on the PR/issue. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. T-types Relevant to the types team, which will review and decide on the PR/issue. I-lang-nominated Nominated for discussion during a lang team meeting. F-f16_and_f128 `#![feature(f16)]`, `#![feature(f128)]` labels Mar 28, 2025
@beetrees beetrees force-pushed the impl-from-f16-for-f32 branch from ef59666 to bb79c28 Compare March 28, 2025 21:34
@rust-log-analyzer

This comment has been minimized.

@beetrees beetrees force-pushed the impl-from-f16-for-f32 branch from bb79c28 to afe5b7f Compare March 28, 2025 22:35
@rust-log-analyzer

This comment has been minimized.

@beetrees beetrees force-pushed the impl-from-f16-for-f32 branch from afe5b7f to f4cb5a7 Compare March 28, 2025 23:32
@compiler-errors
Copy link
Member

@bors try

@bors
Copy link
Collaborator

bors commented Mar 28, 2025

⌛ Trying commit f4cb5a7 with merge 3ec2a77...

bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 28, 2025
Fallback `{float}` to `f32` when `f32: From<{float}>` and add `impl From<f16> for f32`

Currently, the following code compiles:
```rust
fn foo::<T: Into<f32>>(_: T) {}

fn main() {
    foo(1.0);
}
```

This is because the only `From<{float}>` impl for `f32` is currently `From<f32>`. However, once `impl From<f16> for f32` is added this is no longer the case. This would cause the float literal to fallback to `f64`, subsequently causing a type error as `f32` does not implement `From<f64>`. While this kind of change to type inference isn't technically a breaking change according to Rust's breaking change policy, the previous attempt to add `impl From<f16> for f32` was removed rust-lang#123830 due to the large number of crates affected (by my count, there were root regressions in 42 crates and 52 GitHub repos, not including duplicates). This PR solves this problem by using `f32` as the fallback type for `{float}` when there is a trait predicate of `f32: From<{float}>`. This allows adding `impl From<f16> for f32` without affecting the code that currently compiles (such as the example above; this PR shouldn't affect what is possible on stable).

This PR also allows adding a future-incompatibility warning if the lang team wants one; alternatively this could be expanded in the future into something more general like `@tgross35` suggested in rust-lang#123831 (comment). I think it would be also possible to disallow the `f32` fallback in a future edition.

This will need a crater check.

For reference, I've based the implementation loosely on the existing `calculate_diverging_fallback`. This first commit adds the `f32` fallback and the second adds `impl From<f16> for f32`. I think this falls under the types team, so
r? types

Fixes: rust-lang#123831
Tracking issue: rust-lang#116909

`@rustbot` label +T-lang +T-types +T-libs-api +F-f16_and_f128

To decide on whether a future-incompatibility warning is desired or otherwise (see above):
`@rustbot` label +I-lang-nominated
@bors
Copy link
Collaborator

bors commented Mar 29, 2025

☀️ Try build successful - checks-actions
Build commit: 3ec2a77 (3ec2a775459d36c7d90654e47c56ff7bb0d542ab)

@compiler-errors
Copy link
Member

@craterbot check

@craterbot
Copy link
Collaborator

👌 Experiment pr-139087 created and queued.
🤖 Automatically detected try build 3ec2a77
🔍 You can check out the queue and this experiment's details.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot craterbot added S-waiting-on-crater Status: Waiting on a crater run to be completed. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 29, 2025
@craterbot
Copy link
Collaborator

🚧 Experiment pr-139087 is now running

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot
Copy link
Collaborator

🚨 Report generation of pr-139087 failed: timed out waiting for connection
🛠️ If the error is fixed use the retry-report command.

🆘 Can someone from the infra team check in on this? @rust-lang/infra
ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@compiler-errors
Copy link
Member

@craterbot retry-report

@craterbot
Copy link
Collaborator

🛠️ Generation of the report for pr-139087 queued again.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot
Copy link
Collaborator

🎉 Experiment pr-139087 is completed!
📊 9 regressed and 2 fixed (605729 total)
📰 Open the full report.

⚠️ If you notice any spurious failure please add them to the denylist!
ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot craterbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-crater Status: Waiting on a crater run to be completed. labels Mar 30, 2025
@rfcbot rfcbot removed proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. labels Apr 29, 2025
@lcnr lcnr removed the T-libs Relevant to the library team, which will review and decide on the PR/issue. label Apr 29, 2025
@lcnr
Copy link
Contributor

lcnr commented Apr 29, 2025

@rfcbot fcp merge

@rfcbot
Copy link
Collaborator

rfcbot commented Apr 29, 2025

Team member @lcnr has proposed to merge this. The next step is review by the rest of the tagged team members:

Concerns:

Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!

See this document for info about what commands tagged team members can give me.

@rfcbot rfcbot added proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. labels Apr 29, 2025
@traviscross traviscross added I-lang-nominated Nominated for discussion during a lang team meeting. I-lang-radar Items that are on lang's radar and will need eventual work or consideration. labels Apr 29, 2025
@BoxyUwU
Copy link
Member

BoxyUwU commented Apr 29, 2025

Even with fallback this is still technically breaking if the f32: From<?float> goal was being used to constrain ?float=u32 which was then relied upon in method lookup 🤔 That seems acceptable to me given the lack of crater regressions if libs is interested in adding impl From<f16> for f32 (which seems reasonable given f64: From<f32> is an existing impl)

@nikomatsakis
Copy link
Contributor

nikomatsakis commented Apr 30, 2025

@rfcbot concern niko-is-nervous

This is a tough one to separate our my types and lang team hats, but let me do my best.

Types. Wearing my types team hat, I have a few concerns about this change. It seems pretty tied into how the current trait solver "flattens" obligations. I can certainly imagine how it would be supported in the new trait solver (and indeed we may have to do something similar for ! fallback), but it makes me nervous. I don't really understand the plan for how we are going to remove it in the future -- is it that the FCW will irritate people enough that they'll add an explicit f16? I think so.

@rfcbot concern lang-wants-in

Lang. And now we get to the lang hat concern. From a lang perspective, the part of this PR I like the least is the part where we remove the change later. In short, it feels like a good thing for code like this to compile:

fn foo<T: Into<f32>>(_: T) {}
fn main() {
    foo(1.0);
}

and indeed I would want that to continue being true into the future, even with the new impl. I would also like code like this to compile (it currently does not):

fn foo<T: Into<u32>>(_: T) {}
fn main() {
    foo(1);
}

In our discussion in the lang team meeting, we felt like changes to fallback were definitely going to have an impact on how user's experience the language and we'd like to be involved in the FCP. (This concern is best resolved by canceling the FCP and restarting it with T-lang...)

I'm going to share some more detailed thoughts in a bit, but I wanted to start by filing these concerns.

@nikomatsakis
Copy link
Contributor

nikomatsakis commented Apr 30, 2025

OK, warning: I'm going to write some stuff which is going to read like "to solve your small problem, let me hand you an extra-large problem you have to solve first". But I want to prompt some brainstorming.

It seems to me that we have a number of long-standing problems that interact with this issue

Deprecating (or reigning in) one impl fallback. This PR is aiming to reign in the "one impl fallback" rule in a very niche case. I'd like to do it more generally. I think we should be moving to a world where most traits do not support "one impl inference" interactions, and particularly not AsRef (probably not Into as well). This will require more annotation and obviously needs a new edition. There is also tension with my desire to have better integer fallback. Even with an edition, there are a few cases where it would just suck to have to add more explicit annotations, and I think the integer/float literal cases we see in this PR are one of them. Another is stuff like &x[2] or map.get(&key). So we would probably need some kind of "opt-in" so that some traits can continue to participate or else some kind of other solution.

Better literals. It's annoying that integer literals like 22 can't be resolved to a user-defined type like BigInt. It's annoying that integer fallback makes impl Into<u32> not compile when passed a value like 22. It's annoying that string literals are always &str and can't be typed as String. Can we do better with an edition?

In the lang team meeting we kicked around some ideas, such as having the type of 22 not be an unresolved inference variable but an actual intliteral type, where there would be impls like From<intliteral> for u32 and so forth, as well as coercions. This would somewhat eliminate the need for fallback entirely in this case. It also probably has fatal flaws.

I guess the conclusion I'm reaching here is that, in my ideal world, we would think a bit bigger. Rather than doing a kind of niche change to coercion that we hope to remove later, we'd aim to address the root problems we keep running into that are preventing us from adding this impl.

(That said, those problems are very hard and I know that, I'm not saying this is the only option, but I'd like to encourage people to think it over.)

@BoxyUwU
Copy link
Member

BoxyUwU commented Apr 30, 2025

On a procedural note I think it's a little disappointing that lang "ignored" a nomination for a month and then only looked at it once types starts an FCP. Especially when this types FCP is about inference fallback which feels like a very clear cut case of types territory rather than lang.

The types team has been making user facing FCPs since its formation almost every one has had some form of user facing impact. I feel somewhat unclear what the point of the types team even existing is if lang "wants in" on every change that's "user facing" and on changes around very T-types owned areas like inference fallback.

In general lang seems very busy, I don't hold it against y'all for not immediately looking at this nomination, but I do think it begs the question if it's really the best use of time to be discussing minutia around inference fallback.

@nikomatsakis
Copy link
Contributor

nikomatsakis commented Apr 30, 2025

Hmm. Thanks for voicing that @BoxyUwU. I don't personally want to get too hung up on which team has "jurisdiction" or whatever. For me the bottom line is that this PR is proposing a narrow "scenario solving" sort of change (which would be subsequently reverted), and so the high order bit is that I (wearing my "Rust" hat) feel we should think a bit bigger.

(And, when you start looking at those bigger problems, e.g., trying to make int literals overloadable, that seems clearly lang to me.)

Rather than argue which team does what, i'd rather we argue about whether bigger changes are feasible.

@nikomatsakis
Copy link
Contributor

Another way to look at it: I want us to be talking about where we'd like to get to. To me it seems like a regression for this code to stop compiling:

fn foo<T: Into<f32>>(_: T) {}

fn main() {
    foo(1.0);
}

Of course, it's ALSO not good to not have the f16: Into<f32> impl. The ideal is to have both. But that raises the question: would you want to keep the change as proposed indefinitely? It seems a bit narrow and special-cased to me.

@nikomatsakis
Copy link
Contributor

(Also, to the PR author, I think this is a well thought-out proposal, no disrespect meant.)

@BoxyUwU
Copy link
Member

BoxyUwU commented Apr 30, 2025

In regards to the technical feedback:

I guess the concluion I'm reaching here is that, in my ideal world, we would think a bit bigger. Rather than doing a kind of niche change to coercion that we hope to remove later, we'd aim to address the root problems we keep running into that are preventing us from adding this impl.

I generally agree with this. I think we should make bigger changes to the language around the 1-impl rule and literals too. I don't think we should block std being able to add this impl on that though. We can experiment with such things at any point in time, and they're likely to take a long time to get anywhere.

It seems pretty tied into how the curent trait solver "flattens" obligations

My understanding is that we already have problems around looking at unsolved obligations during hir typeck and the new trait solver already has ways of being compatible with such things. Though trying to find examples of that I'm coming up dry, @lcnr probably knows exactly where that ended up 🤔

edit:

Ah right that's it. obligations_for_self_ty_next is the new solver compatible way of looking at current unsolved goals' potential nested goals to use to aid inference. Which is used when deducing closuring signatures.

@nikomatsakis
Copy link
Contributor

nikomatsakis commented Apr 30, 2025

I would imagine perhaps to do with closure inference (which also works pretty poorly); and some of the coercion machinery, iirc.

@BoxyUwU
Copy link
Member

BoxyUwU commented Apr 30, 2025

Ah right that's it. obligations_for_self_ty_next is the new solver compatible way of looking at current unsolved goals' potential nested goals to use to aid inference. Which is used when deducing closuring signatures.

@nikomatsakis
Copy link
Contributor

Also, is my understanding here correct?

I don't really understand the plan for how we are going to remove it in the future -- is it that the FCW will irritate people enough that they'll add an explicit f16? I think so.

Do we have an estimate for how much churn there is there?

@BoxyUwU
Copy link
Member

BoxyUwU commented Apr 30, 2025

I do think the intention is to FCW it so that everyone migrates off the fallback and then we remove the fallback eventually yes.

I thought #139087 (comment) was the breakage from not FCWing but it seems like that's the spurrious failures with the FCW instead of an inference error... The PR description says:

by my count, there were root regressions in 42 crates and 52 GitHub repos, not including duplicates

Though I can't see where that count is coming from

@beetrees
Copy link
Contributor Author

Though I can't see where that count is coming from

The original attempt to add impl From<f16> for f32 without changing the fallback had a Crater run in #122470 (comment), which I then analysed to remove duplicates.

Summary of Crater run without fallback change

Affected crates.io crates (in brackets are total downloads count and repo URL if present)
Affected GitHub repos not on crates.io

As the Crater run was a while ago, some of the crates have already been changed (mostly coincidentally) so that the issue does not affect the latest version.

@nikomatsakis
Copy link
Contributor

Some pretty prominent crates there. e.g., bevy.

@nikomatsakis
Copy link
Contributor

nikomatsakis commented Apr 30, 2025

@BoxyUwU btw, on the topic of lang vs types, the way I see it is this:

lang always has the power to overrule types if lang feels the problems for user-facing impact are too high. Obviously types makes calls but if the impact is high it's expected they'll clue lang in.

types always has the power to overrule lang if types feels the problems for complexity, implementability, or soundness is too much. Obviously lang makes calls but if the impact is high it's expected they'll clue types in.

So yeah, it's good for types to move forward with user-facing breakage. It's also ok for lang to step in sometimes and say "hmm, this one seems off". And it's fine for you to argue and say "no, it's not, let's not block a targeted change on some big years-long project". I'm still pondering that one.

I think my types concerns are largely resolved now, I'm now more just pondering "is this the right thing to do" -- e.g., if bevy relies on this, are we really going to want to have them migrate to _f16? How many places are impacted and in what way?

If the answer is "probably not", then the question is, are we comfortable with this change if it's permanent? If we try to do something more general, will we hit a problem due to this change? I'd like to think that through at least a bit.

@jackh726
Copy link
Member

My thoughts here:

First, procedurally, it is frustrating that this sat as lang-nominated for a while and that lang only chimed in after an pFCP was started. That being said, it's only a month, which is not that long. And I personally really do think that lang should be involved in this decision for the points Niko highlighted - unlike other decisions types decisions, this seems much more "user-facing" rather than just an implementation detail. Anyways, this is neither here nor there - if lang wants in, then I think it'd be weird for someone to say "no that's not okay".

Now, technically: I don't really like adding the extra complexity of this fallback, in large part because I think removing that fallback would take a while, even with a FCW. This has a wide impact. So, I'm going to "second" nikos "niko-is-nervous" concern.

@beetrees
Copy link
Contributor Author

I think my types concerns are largely resolved now, I'm now more just pondering "is this the right thing to do" -- e.g., if bevy relies on this, are we really going to want to have them migrate to _f16? How many places are impacted and in what way?

(Minor note: the affected literals would need to be suffixed with _f32, not _f16.) Most crates that would be affected by the FCW aren't affected in many places, usually only in 1 or 2 files (e.g. in bevy the only affected locations are 6 literals in the tests in bevy_ui/src/layout/convert.rs), and all cases can be fixed by appending _f32 to the relevant literal. I've included the raw list of every affected location from the Crater run without the fallback change: note that I haven't de-duplicated it so crates that had multiple versions tested or were on both crates.io and GitHub may appear multiple times.

Full list of every affected location in Crater run without fallback change
accessibility-rs/0.0.44/src/engine/audit/tree.rs:126:35
accessibility-rs/0.0.44/src/engine/audit/tree.rs:127:36
aflak_plot/0.0.1/src/imshow/lut.rs:53:50
aflak_plot/0.0.1/src/imshow/lut.rs:54:54
aflak_plot/0.0.1/src/imshow/lut.rs:59:53
aflak_plot/0.0.1/src/imshow/lut.rs:66:53
aflak_plot/0.0.1/src/imshow/lut.rs:72:51
aflak_plot/0.0.3/src/imshow/lut.rs:229:36
aflak_plot/0.0.3/src/imshow/lut.rs:242:36
aflak_plot/0.0.3/src/imshow/lut.rs:269:40
aflak_plot/0.0.3/src/imshow/lut.rs:53:50
aflak_plot/0.0.3/src/imshow/lut.rs:54:54
aflak_plot/0.0.3/src/imshow/lut.rs:59:53
aflak_plot/0.0.3/src/imshow/lut.rs:66:53
aflak_plot/0.0.3/src/imshow/lut.rs:72:51
axum_typed_multipart/0.10.2/src/try_from_chunks.rs:293:51
bevy_ui/0.12.1/src/layout/convert.rs:577:29
bevy_ui/0.12.1/src/layout/convert.rs:577:48
bevy_ui/0.12.1/src/layout/convert.rs:577:61
bevy_ui/0.12.1/src/layout/convert.rs:581:48
bevy_ui/0.12.1/src/layout/convert.rs:588:39
bevy_ui/0.12.1/src/layout/convert.rs:588:52
bliss-audio/0.6.9/src/utils.rs:201:30
cgats/0.2.0/src/lib.rs:877:54
cgats/0.2.0/src/lib.rs:884:54
constructivism/0.0.2/examples/tutorial.rs:324:22
constructivism/0.0.2/examples/tutorial.rs:380:33
do_every/0.1.0/src/lib.rs:54:45
do_every/0.1.0/src/lib.rs:61:46
egui/0.3.0/src/containers/frame.rs:65:33
egui/0.3.0/src/containers/resize.rs:40:35
egui/0.3.0/src/containers/window.rs:333:38
egui/0.3.0/src/demos/app.rs:119:39
egui/0.3.0/src/demos/demo_window.rs:101:46
egui/0.3.0/src/demos/demo_window.rs:246:33
egui/0.3.0/src/demos/demo_window.rs:96:62
egui/0.3.0/src/demos/drag_and_drop.rs:45:30
egui/0.3.0/src/layout.rs:286:34
egui/0.3.0/src/paint/command.rs:196:19
egui/0.3.0/src/paint/tessellator.rs:879:41
egui/0.3.0/src/painter.rs:152:33
egui/0.3.0/src/style.rs:277:40
egui/0.3.0/src/style.rs:280:40
egui/0.3.0/src/style.rs:284:40
egui/0.3.0/src/style.rs:287:40
egui/0.3.0/src/style.rs:291:40
egui/0.3.0/src/style.rs:294:40
egui/0.3.0/src/style.rs:298:40
egui/0.3.0/src/style.rs:301:40
egui/0.3.0/src/style.rs:304:40
egui/0.3.0/src/style.rs:308:40
egui/0.3.0/src/style.rs:89:72
egui/0.3.0/src/widgets/color_picker.rs:52:29
epaint/0.10.0/src/stroke.rs:13:19
epaint/0.10.0/src/tessellator.rs:754:41
epaint/0.11.0/src/stroke.rs:13:19
epaint/0.11.0/src/tessellator.rs:768:41
epaint/0.12.0/src/stroke.rs:13:19
epaint/0.12.0/src/tessellator.rs:772:41
epaint/0.13.0/src/stroke.rs:16:19
epaint/0.13.0/src/tessellator.rs:782:41
epaint/0.14.0/src/stroke.rs:16:19
epaint/0.14.0/src/tessellator.rs:782:41
epaint/0.15.0/src/stroke.rs:19:19
epaint/0.15.0/src/tessellator.rs:837:33
epaint/0.16.0/src/stroke.rs:19:19
epaint/0.16.0/src/tessellator.rs:929:33
epaint/0.17.0/src/stroke.rs:19:19
epaint/0.17.0/src/tessellator.rs:1082:37
epaint/0.18.1/src/stroke.rs:19:19
epaint/0.18.1/src/tessellator.rs:1523:30
epaint/0.19.0/src/stroke.rs:19:19
epaint/0.19.0/src/tessellator.rs:1575:30
epaint/0.20.0/src/stroke.rs:25:19
epaint/0.20.0/src/tessellator.rs:1575:30
epaint/0.21.0/src/stroke.rs:25:19
epaint/0.21.0/src/tessellator.rs:1600:30
epaint/0.22.0/src/stroke.rs:25:19
epaint/0.22.0/src/tessellator.rs:1604:30
epaint/0.23.0/src/stroke.rs:25:19
epaint/0.23.0/src/tessellator.rs:1724:30
epaint/0.24.1/src/stroke.rs:25:19
epaint/0.24.1/src/tessellator.rs:1725:30
epaint/0.25.0/src/tessellator.rs:1731:30
epaint/0.26.0/src/tessellator.rs:1816:34
epaint/0.26.1/src/tessellator.rs:1816:34
epaint/0.26.2/src/tessellator.rs:1816:34
epaint/0.27.0/src/tessellator.rs:1886:34
epaint/0.27.1/src/tessellator.rs:1908:34
epaint/0.27.2/src/tessellator.rs:1908:34
epaint/0.8.0/src/stroke.rs:13:19
epaint/0.8.0/src/tessellator.rs:698:41
ferrischart/0.1.0/src/lib.rs:56:24
fidget/0.1.4/src/core/eval/point.rs:113:30
fidget/0.1.4/src/core/eval/point.rs:117:30
fidget/0.1.4/src/core/eval/point.rs:121:30
fidget/0.1.4/src/core/eval/point.rs:142:25
fidget/0.1.4/src/core/eval/point.rs:143:25
fidget/0.1.4/src/core/eval/point.rs:144:25
fidget/0.1.4/src/core/eval/point.rs:155:25
fidget/0.1.4/src/core/eval/point.rs:156:25
fidget/0.1.4/src/core/eval/point.rs:160:25
fidget/0.1.4/src/core/eval/point.rs:161:25
fidget/0.1.4/src/core/eval/point.rs:165:25
fidget/0.1.4/src/core/eval/point.rs:166:25
fidget/0.1.4/src/core/eval/point.rs:171:25
fidget/0.1.4/src/core/eval/point.rs:172:25
fidget/0.1.4/src/core/eval/point.rs:176:25
fidget/0.1.4/src/core/eval/point.rs:177:25
fidget/0.1.4/src/core/eval/point.rs:181:25
fidget/0.1.4/src/core/eval/point.rs:182:25
fidget/0.1.4/src/core/eval/point.rs:192:25
fidget/0.1.4/src/core/eval/point.rs:193:25
fidget/0.1.4/src/core/eval/point.rs:197:25
fidget/0.1.4/src/core/eval/point.rs:198:25
fidget/0.1.4/src/core/eval/point.rs:205:25
fidget/0.1.4/src/core/eval/point.rs:215:18
fidget/0.1.4/src/core/eval/point.rs:221:18
fidget/0.1.4/src/core/eval/point.rs:235:18
fidget/0.1.4/src/core/eval/point.rs:246:18
fidget/0.1.4/src/core/eval/point.rs:257:18
fidget/0.1.4/src/core/eval/point.rs:39:25
fidget/0.1.4/src/core/eval/point.rs:49:30
fidget/0.1.4/src/core/eval/point.rs:56:25
fidget/0.1.4/src/core/eval/point.rs:57:25
fidget/0.1.4/src/core/eval/point.rs:71:25
fidget/0.1.4/src/core/eval/point.rs:72:25
fidget/0.1.4/src/core/eval/point.rs:83:30
fidget/0.1.4/src/core/eval/point.rs:87:30
fidget/0.1.4/src/core/eval/point.rs:91:30
geng-core/0.6.0-alpha.8/src/font/mod.rs:36:38
geng-core/0.6.0-alpha.8/src/font/mod.rs:37:41
geng/0.7.0/src/font/mod.rs:36:38
geng/0.7.0/src/font/mod.rs:37:41
geng/0.8.0-alpha.5/src/font/mod.rs:36:38
geng/0.8.0-alpha.5/src/font/mod.rs:37:41
gh/Aethar01/Quadratictest/ac22735140623738c16048a80c63c4c83d02848d/src/quads.rs:170:22
gh/Aethar01/Quadratictest/ac22735140623738c16048a80c63c4c83d02848d/src/quads.rs:171:22
gh/Aethar01/Quadratictest/ac22735140623738c16048a80c63c4c83d02848d/src/quads.rs:174:31
gh/Aethar01/Quadratictest/ac22735140623738c16048a80c63c4c83d02848d/src/quads.rs:177:36
gh/AlanLang/good-morning/3184c4076b248bf9ccbec807cf548b8313e6b498/src/chatgpt.rs:15:30
gh/B0ney/xmodits/c49fa2fad84c533e8d40c6189a5237bbdcbadba6/src/screen/sample_player/instance.rs:340:23
gh/Bradovman/pipebombclyde/637e6726d7ca5162d22866ea743e92e7592cd5c1/src/main.rs:120:30
gh/ChihuyuNetwork/kuretiki-chan/4e710b9d5f6e1d95d62cc6a8d7a2548fc00e1388/src/main.rs:32:30
gh/ChihuyuNetwork/kuretiki-chan/4e710b9d5f6e1d95d62cc6a8d7a2548fc00e1388/src/main.rs:33:35
gh/ChihuyuNetwork/kuretiki-chan/4e710b9d5f6e1d95d62cc6a8d7a2548fc00e1388/src/main.rs:34:36
gh/DioxusLabs/taffy/1876f72/src/style_helpers.rs:58:31
gh/DioxusLabs/taffy/7781c70/src/style_helpers.rs:58:31
gh/Elekrisk/fg-sdl2/0cf3ae388557c75442db79671b417b3e3d390b4f/src/game/camera.rs:28:63
gh/JunYang-tes/yatsr/5307204a526c4abff58db6d4eba039a2ebc68d37/src/shaders.rs:24:44
gh/JunYang-tes/yatsr/5307204a526c4abff58db6d4eba039a2ebc68d37/src/shaders.rs:35:44
gh/JunYang-tes/yatsr/5307204a526c4abff58db6d4eba039a2ebc68d37/src/shaders.rs:46:44
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/graphics/graphics_test.rs:112:12
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/graphics/graphics_test.rs:113:14
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/graphics/graphics_test.rs:114:15
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/graphics/graphics_test.rs:115:14
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/hud/hud_objects.rs:15:46
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/hud/hud_objects.rs:16:50
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:14:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:15:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:16:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:17:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:18:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:19:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:20:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:21:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:22:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:23:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:24:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:25:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:26:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:27:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:28:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:29:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:30:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:31:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:32:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:33:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:35:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:36:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:37:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:38:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:40:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:41:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:42:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:43:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:45:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:46:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:47:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:48:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:50:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:51:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:52:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:53:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:55:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:56:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:57:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:58:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:60:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:61:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:62:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:63:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:65:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:66:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:67:29
gh/Laastine/hinterland/39a2c957cdb93c09725a401bec957e254a65f368/src/zombie/zombies.rs:68:29
gh/MaaAssistantArknights/maa-cli/5afe32de5a766126ff9294bb9ceb92bfe84acc55/maa-cli/src/value/userinput/select.rs:559:51
gh/Maxuss/chatgpt_rs/09cde58b4e9fdf8f8d78955edd723c3975eb0089/examples/proxying.rs:16:26
gh/NiklasEi/ld49/1fc925339de6d0aa64983d31186cf1ba932c595c/game_plugin/src/player.rs:375:38
gh/Odysseusailoon/GraduationDesign/c4db5c81382d198971b97d1e1fa4f92154e673f6/src/plot.rs:15:59
gh/P0DG3/course_work_4/400663abb0b0a46f7451a698f0ae3bc344bf8d2d/src/main.rs:23:54
gh/RajendrabinHafiz/OpenAPI-integration-with-rust/7221197cc7ae96d78e6d833258a0b6890a55d71c/examples/proxying.rs:16:26
gh/SagenApp/gpt_for_uds_rs/7b8c1de97b338dbed11053d3ae33ca91b1678ba5/src/gpt_client.rs:61:26
gh/Shika-B/fourier-transform/46378e221f5b937ebaadbe56ce7b3f0aeb5aadc7/src/plot.rs:17:19
gh/SpikyPillow/egui/5a6dd55/epaint/src/stroke.rs:16:19
gh/SpikyPillow/egui/5a6dd55/epaint/src/tessellator.rs:782:41
gh/StardustXR/asteroids/802174b937c0b44e1bafc163d3db0ff3133fea82/examples/basic_layout.rs:38:35
gh/TheHatSky/chaos-math/4124f74c47253d25059072f7cc5058f7311ed5e1/src/main.rs:26:19
gh/VladasZ/tools/9baf7d1567c1f147f656627fc6da4c551c7419ec/rtools/src/animation.rs:54:35
gh/VladasZ/tools/9baf7d1567c1f147f656627fc6da4c551c7419ec/rtools/src/animation.rs:54:40
gh/VladasZ/tools/9baf7d1567c1f147f656627fc6da4c551c7419ec/rtools/src/animation.rs:54:45
gh/VladasZ/tools/9baf7d1567c1f147f656627fc6da4c551c7419ec/rtools/src/animation.rs:59:15
gh/VladasZ/tools/9baf7d1567c1f147f656627fc6da4c551c7419ec/rtools/src/animation.rs:64:15
gh/VladasZ/tools/9baf7d1567c1f147f656627fc6da4c551c7419ec/rtools/src/animation.rs:69:15
gh/VladasZ/tools/9baf7d1567c1f147f656627fc6da4c551c7419ec/rtools/src/animation.rs:74:15
gh/VladasZ/tools/9baf7d1567c1f147f656627fc6da4c551c7419ec/rtools/src/misc.rs:57:15
gh/WuTheFWasThat/hanabi.rs/ef773112148bfcce3e5f608a03b6eba279c79a34/src/helpers.rs:83:29
gh/YangCee/git-tools/abb5d42552059ce97ba9c920374bf4dc81f2e1ea/src/main.rs:86:26
gh/Yokeshthirumoorthi/rust-convexhull-benchmarks/7fad09e4d3ef6294c79f8814ec744ff5fdda516f/src/plots.rs:21:19
gh/abusch8/Tetris/7cc566df52c1fd61696fa7d0f525e724bdf30147/src/game.rs:155:17
gh/abusch8/Tetris/7cc566df52c1fd61696fa7d0f525e724bdf30147/src/game.rs:159:17
gh/adkelley/gpt_jpn_eng/c1a39ea7ebca1aac6b648ecc09458ccb37e06de9/src/main.rs:26:22
gh/adkelley/gpt_jpn_eng/c1a39ea7ebca1aac6b648ecc09458ccb37e06de9/src/main.rs:98:30
gh/andatoshiki/toshiki-gptbot/df4dd84eab7ada88af01d06085f5a7baeab0155d/src/modules/openai.rs:34:26
gh/ateschan/kill-rs/99c30a12910d4f7c8b7eb85a60818b316222b630/src/state/game.rs:35:55
gh/brundonsmith/rust-lisp/e0f571bd9575eb79d0dbd75552c605eaa86a6e28/tests/interpreter.rs:35:60
gh/cauvmou/Ask/6fff1889ccb865cf8de5967347fdb3340dc44000/src/main.rs:54:22
gh/clockwork53/rs-ray/7a34ecadc9df5ceb0b0f32f550b0730775f678c7/src/matrix.rs:360:3
gh/ctcrookertech/gita/f87bf77866bcce7f5fac62d1f0fc1c4c6929bbd2/src/main.rs:33:26
gh/cycle-five/cracktunes/bb96613ab987cc40cbaa4f3e4dafdd747c93beec/crack-gpt/src/lib.rs:29:22
gh/ddprrt/shuttle-qdrant-openai/3cee87a77584394d45424e31cc4e6574a5d0db5f/src/open_ai.rs:38:22
gh/ddprrt/shuttle-qdrant-openai/3cee87a77584394d45424e31cc4e6574a5d0db5f/src/open_ai.rs:55:22
gh/egls/bevy_game_jame_4/6eea0e72ff61b257dd5a19e330f90b6a03a52bf7/src/main.rs:15:44
gh/emersonmde/anchor-chain/c0a1f9aa9cd49294bba7cd226ff598cd0776e372/src/models/openai.rs:281:26
gh/fmeyer/tldw/99ed85bb132ec08c298d55239dffdd8494d2be61/src/summarizer.rs:118:17
gh/imding/rust-vdb/d3fb12d3d60dde9908d43c4ea3bb9255554e645d/src/llm.rs:54:22
gh/insipx/eth-graphs/9387dc20c0db06f1cf8a894461440e2a53c8baaf/src/graphs.rs:78:25
gh/jkb0o/constructivist/b92c0331ad2c9a32d3bffe3adcf74a604e2678d4/examples/tutorial.rs:390:22
gh/jkb0o/constructivist/b92c0331ad2c9a32d3bffe3adcf74a604e2678d4/examples/tutorial.rs:446:33
gh/joshua-mo-143/shuttle-qdrant-template/060bfce52f7a72162c90540bf6d452a6855c2acb/src/open_ai.rs:39:22
gh/joshua-mo-143/shuttle-qdrant-template/060bfce52f7a72162c90540bf6d452a6855c2acb/src/open_ai.rs:56:22
gh/juh9870/random_cli/84f864264fd89df1f727c40bb2d2082a75ae0303/eh_mod_dev/src/test_mod.rs:106:40
gh/juh9870/random_cli/84f864264fd89df1f727c40bb2d2082a75ae0303/eh_mod_dev/src/test_mod.rs:180:20
gh/juh9870/random_cli/84f864264fd89df1f727c40bb2d2082a75ae0303/eh_mod_dev/src/test_mod.rs:31:57
gh/juh9870/random_cli/84f864264fd89df1f727c40bb2d2082a75ae0303/eh_mod_dev/src/test_mod.rs:33:56
gh/juh9870/random_cli/84f864264fd89df1f727c40bb2d2082a75ae0303/eh_mod_dev/src/test_mod.rs:41:39
gh/juh9870/random_cli/84f864264fd89df1f727c40bb2d2082a75ae0303/eh_mod_dev/src/test_mod.rs:64:39
gh/juh9870/random_cli/84f864264fd89df1f727c40bb2d2082a75ae0303/eh_mod_dev/src/test_mod.rs:72:32
gh/juh9870/random_cli/84f864264fd89df1f727c40bb2d2082a75ae0303/eh_mod_dev/src/test_mod.rs:80:61
gh/juh9870/random_cli/84f864264fd89df1f727c40bb2d2082a75ae0303/eh_mod_dev/src/test_mod.rs:81:59
gh/juh9870/random_cli/84f864264fd89df1f727c40bb2d2082a75ae0303/eh_mod_dev/src/test_mod.rs:86:49
gh/kuviman/geng/b74b39d/crates/geng/src/font/mod.rs:46:38
gh/kuviman/geng/b74b39d/crates/geng/src/font/mod.rs:47:41
gh/makepad/makepad/74858e5/draw/src/geometry/geometry_gen.rs:55:10
gh/makepad/makepad/74858e5/draw/src/shader/draw_icon.rs:72:10
gh/makepad/makepad/74858e5/draw/src/shader/draw_quad.rs:56:10
gh/makepad/makepad/74858e5/draw/src/shader/draw_text.rs:109:17
gh/makepad/makepad/74858e5/draw/src/shader/draw_text.rs:235:10
gh/makepad/makepad/a978a7c97a56fad24f392bb899571a93f82b1011/draw/src/geometry/geometry_gen.rs:55:10
gh/makepad/makepad/a978a7c97a56fad24f392bb899571a93f82b1011/draw/src/shader/draw_icon.rs:72:10
gh/makepad/makepad/a978a7c97a56fad24f392bb899571a93f82b1011/draw/src/shader/draw_quad.rs:56:10
gh/makepad/makepad/a978a7c97a56fad24f392bb899571a93f82b1011/draw/src/shader/draw_text.rs:141:17
gh/makepad/makepad/a978a7c97a56fad24f392bb899571a93f82b1011/draw/src/shader/draw_text.rs:268:10
gh/murar8/axum_typed_multipart/32d6aea07ab214c4b11ea862d7b7f04782bb3e8f/src/try_from_chunks.rs:338:51
gh/pjankiewicz/mechatyper/2b34e3630b96ac9f9a1c7837fbfafec9c6a18b47/src/main.rs:111:46
gh/pjankiewicz/mechatyper/2b34e3630b96ac9f9a1c7837fbfafec9c6a18b47/src/main.rs:76:26
gh/rugg2/rust-classifier-example/e3aaaf79212d7706db4dc1065552f282c3dd8b65/src/plotting.rs:40:23
gh/rugg2/rust-classifier-example/e3aaaf79212d7706db4dc1065552f282c3dd8b65/src/plotting.rs:48:19
gh/shoichi1023/openai-crawler/483aa3215131235a2ceef5c792a8dd33a1b2a33b/src/main.rs:71:22
gh/shoichi1023/openai-crawler/483aa3215131235a2ceef5c792a8dd33a1b2a33b/src/main.rs:73:28
gh/shoichi1023/openai-crawler/483aa3215131235a2ceef5c792a8dd33a1b2a33b/src/main.rs:74:27
gh/shoichi1023/openai-crawler/483aa3215131235a2ceef5c792a8dd33a1b2a33b/src/main.rs:75:16
gh/srrrs-7/linfa_linux/89932bd8f478e56fdcc784b9d76f8b43b36e0a72/src/main.rs:139:27
gh/srrrs-7/linfa_linux/89932bd8f478e56fdcc784b9d76f8b43b36e0a72/src/main.rs:148:27
gh/stellarLuminant/enhancer/4465aa4b901c22c4905864d627c3fb0847e80fa6/src/main.rs:415:13
gh/tectin0/wrightomega-rs/740d33075e42e3007966b49657d110d4a927c71c/src/lib.rs:61:39
gh/tectin0/wrightomega-rs/740d33075e42e3007966b49657d110d4a927c71c/src/lib.rs:62:39
gh/u7f8au7fbd/bevy_project/00898a5c51270a7358a28551a1945be541f22ef0/src/main.rs:14:53
gh/veniamin-ilmer/minesweeper/5a4fab25af51b964464ba677e41456738da2715b/src/cell.rs:146:29
gh/weldsorm/welds/6b1b1e3d434ac22bbdfff00ffe82a6585d3c6037/welds/examples/bulk_operations.rs:57:32
gh/zen-en-tonal/kraim/70b5d3bc5d070d1033ac9718af156a741b62786f/src/parameter/float.rs:104:10
gh/zen-en-tonal/kraim/70b5d3bc5d070d1033ac9718af156a741b62786f/src/parameter/float.rs:90:10
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:153:37
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:153:42
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:153:48
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:169:37
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:169:42
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:169:48
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:170:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:170:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:170:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:171:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:171:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:171:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:176:37
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:176:42
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:176:48
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:177:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:177:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:177:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:178:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:178:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:178:45
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:183:37
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:183:42
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:183:48
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:184:29
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:184:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:184:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:190:31
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:190:36
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:190:41
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:191:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:191:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:191:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:192:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:192:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:192:46
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:197:31
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:197:36
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:197:41
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:198:29
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:198:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:198:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:199:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:199:41
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:199:47
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:204:31
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:204:36
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:204:41
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:205:29
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:205:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:205:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:206:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:206:41
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:206:46
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:212:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:212:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:212:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:213:31
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:213:37
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:213:42
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:214:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:214:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:214:45
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:219:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:219:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:219:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:223:27
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:226:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:226:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:226:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:231:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:231:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:231:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:235:17
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:245:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:245:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:245:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:249:49
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:252:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:252:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:252:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:257:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:257:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:257:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:264:17
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:268:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:268:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:268:45
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:273:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:273:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:273:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:275:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:275:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:275:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:280:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:280:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:280:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:282:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:282:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:282:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:287:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:287:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:287:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:289:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:289:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:289:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:294:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:294:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:294:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:296:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:296:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:296:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:301:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:301:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:301:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:303:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:303:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:303:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:308:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:308:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:308:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:310:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:310:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:310:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:315:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:315:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:315:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:317:31
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:317:36
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:317:41
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:318:37
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:318:43
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:318:48
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:321:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:321:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:321:45
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:324:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:324:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:324:45
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:327:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:327:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/matrix/transformations.rs:327:49
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:115:32
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:115:37
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:115:42
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:116:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:116:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:116:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:118:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:118:50
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:118:55
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:118:60
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:119:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:119:50
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:119:55
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:119:60
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:120:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:120:51
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:120:56
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:120:61
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:121:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:121:50
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:121:55
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:121:60
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:126:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:126:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:126:49
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:126:68
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:126:73
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:126:78
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:136:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:136:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:136:49
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:136:68
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:136:73
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:136:78
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:146:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:146:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:146:49
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:146:68
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:146:73
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:146:78
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:154:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:154:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:154:49
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:154:67
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:154:72
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:154:77
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:164:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:164:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:164:49
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:164:67
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:164:72
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:164:77
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:39:53
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:39:58
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/ray.rs:39:63
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:212:32
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:212:37
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:212:42
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:213:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:213:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:213:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:214:47
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:214:52
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:214:57
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:219:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:219:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:219:45
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:220:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:220:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:220:45
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:221:51
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:221:56
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:221:61
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:226:32
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:226:37
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:226:42
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:227:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:227:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:227:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:228:47
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:228:52
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:228:57
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:238:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:238:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:238:43
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:239:33
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:239:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:239:45
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:240:49
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:240:54
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:240:60
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:245:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:245:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:245:45
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:246:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:246:41
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:246:47
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:247:51
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:247:56
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:247:62
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:252:32
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:252:38
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:252:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:253:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:253:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:253:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:254:47
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:254:52
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:254:58
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:264:32
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:264:37
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:264:42
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:265:47
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:265:53
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:265:59
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:26:15
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:270:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:270:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:270:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:271:49
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:271:55
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:271:61
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:281:32
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:281:37
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:281:42
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:282:26
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:282:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:282:49
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:282:54
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:284:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:284:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:284:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:285:27
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:285:46
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:285:51
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:285:56
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:290:32
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:290:37
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:290:42
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:291:26
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:291:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:291:49
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:291:54
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:293:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:293:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:293:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:294:27
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:294:46
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:294:51
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:294:56
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:304:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:304:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:304:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:311:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:311:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:311:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:312:52
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:312:57
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:312:62
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:314:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:314:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:314:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:315:52
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:315:61
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:315:70
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:320:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:320:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:320:44
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:331:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:331:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:331:45
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:332:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:332:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:332:45
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:339:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:339:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:339:45
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:340:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:340:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:340:45
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:341:57
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:341:63
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:341:68
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:342:57
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:342:62
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:342:68
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:352:28
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:352:34
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:352:39
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:358:29
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:358:35
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:358:40
gh/zmoazeni/raytracer-rs/0458fa6b6f5c06df53d39d0e94445262dd25f10c/src/space.rs:46:15
glyph_brush/0.6.0/src/glyph_brush/builder.rs:63:34
glyph_brush/0.6.0/src/glyph_brush/builder.rs:64:37
glyph_brush/0.6.1/src/glyph_brush/builder.rs:63:34
glyph_brush/0.6.1/src/glyph_brush/builder.rs:64:37
glyph_brush/0.6.2/src/glyph_brush/builder.rs:76:34
glyph_brush/0.6.2/src/glyph_brush/builder.rs:77:37
glyph_brush/0.6.3/src/glyph_brush/builder.rs:76:34
glyph_brush/0.6.3/src/glyph_brush/builder.rs:77:37
glyph_brush/0.7.0/src/glyph_brush/builder.rs:48:34
glyph_brush/0.7.0/src/glyph_brush/builder.rs:49:37
glyph_brush/0.7.1/src/glyph_brush/builder.rs:48:34
glyph_brush/0.7.1/src/glyph_brush/builder.rs:49:37
glyph_brush/0.7.2/src/glyph_brush/builder.rs:48:34
glyph_brush/0.7.2/src/glyph_brush/builder.rs:49:37
glyph_brush/0.7.3/src/glyph_brush/builder.rs:47:34
glyph_brush/0.7.3/src/glyph_brush/builder.rs:48:37
glyph_brush/0.7.4/src/glyph_brush/builder.rs:47:34
glyph_brush/0.7.4/src/glyph_brush/builder.rs:48:37
glyph_brush/0.7.5/src/glyph_brush/builder.rs:47:34
glyph_brush/0.7.5/src/glyph_brush/builder.rs:48:37
glyph_brush/0.7.7/src/glyph_brush/builder.rs:46:34
glyph_brush/0.7.7/src/glyph_brush/builder.rs:47:37
glyph_brush/0.7.8/src/glyph_brush/builder.rs:46:34
glyph_brush/0.7.8/src/glyph_brush/builder.rs:47:37
gpt_text/0.1.6/src/lib.rs:42:26
gpt_text/0.1.6/src/lib.rs:58:20
gpt_text/0.1.6/src/lib.rs:60:26
gpt_text/0.1.6/src/lib.rs:61:32
gpt_text/0.1.6/src/lib.rs:62:31
gust-render/0.2.0/examples/basic.rs:15:24
gust-render/0.2.0/examples/basic.rs:16:25
gust-render/0.2.0/examples/basic.rs:17:21
gust-render/0.2.0/examples/basic.rs:28:22
gust-render/0.2.0/examples/batch.rs:50:29
gust-render/0.2.0/examples/batch.rs:56:28
gust-render/0.2.0/examples/event.rs:52:55
gust-render/0.2.0/examples/event.rs:58:28
gust-render/0.2.0/examples/event.rs:64:28
gust-render/0.2.0/examples/event.rs:70:28
gust-render/0.2.0/examples/event.rs:76:28
gust-render/0.2.0/examples/font.rs:23:23
gust-render/0.2.0/examples/font.rs:27:24
gust-render/0.2.0/examples/multi_window.rs:15:24
gust-render/0.2.0/examples/multi_window.rs:16:25
gust-render/0.2.0/examples/multi_window.rs:17:21
gust-render/0.2.0/examples/multi_window.rs:28:22
gust-render/0.2.0/examples/multi_window.rs:50:23
gust-render/0.2.0/examples/texture.rs:35:24
gust-render/0.2.0/examples/texture.rs:36:25
gust-render/0.2.0/examples/texture.rs:37:26
gust-render/0.2.0/examples/view.rs:15:24
gust-render/0.2.0/examples/view.rs:19:21
gust-render/0.2.0/examples/view.rs:25:22
gust-render/0.2.0/src/spritebatch.rs:740:29
gust-render/0.2.0/src/spritebatch.rs:744:28
gust-render/0.2.0/src/spritebatch.rs:761:29
gust-render/0.2.0/src/spritebatch.rs:764:38
gust-render/0.2.0/src/spritebatch.rs:784:43
i2cdriver/0.1.0/examples/lis3dh.rs:39:36
integer_or_float/0.3.2/src/num_traits_impl/float.rs:12:41
iter-progress/0.8.1-rc1/src/tests.rs:28:44
iter-progress/0.8.1-rc1/src/tests.rs:29:44
iter-progress/0.8.1-rc1/src/tests.rs:30:44
iter-progress/0.8.1-rc1/src/tests.rs:41:44
iter-progress/0.8.1-rc1/src/tests.rs:42:44
iter-progress/0.8.1-rc1/src/tests.rs:43:44
iter-progress/0.8.1-rc1/src/tests.rs:53:44
iter-progress/0.8.1-rc1/src/tests.rs:54:44
iter-progress/0.8.1-rc1/src/tests.rs:55:44
iter-progress/0.8.1-rc1/src/tests.rs:56:44
llm-chain-sagemaker-endpoint/0.13.0/examples/simple-sagemaker.rs:24:16
makepad-draw/0.5.0/src/geometry/geometry_gen.rs:55:10
makepad-draw/0.5.0/src/shader/draw_icon.rs:72:10
makepad-draw/0.5.0/src/shader/draw_quad.rs:56:10
makepad-draw/0.5.0/src/shader/draw_text.rs:113:17
makepad-draw/0.5.0/src/shader/draw_text.rs:239:10
makepad-draw/0.6.0/src/geometry/geometry_gen.rs:55:10
makepad-draw/0.6.0/src/shader/draw_icon.rs:72:10
makepad-draw/0.6.0/src/shader/draw_quad.rs:56:10
makepad-draw/0.6.0/src/shader/draw_text.rs:113:17
makepad-draw/0.6.0/src/shader/draw_text.rs:239:10
maths-traits/0.2.1/src/analysis/real.rs:554:55
node_editor/0.0.3/src/editor.rs:448:75
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:520:55
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:541:55
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:542:21
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:550:55
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:551:21
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:559:42
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:560:47
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:568:55
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:702:66
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:703:21
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:711:66
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:712:21
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:720:53
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:721:58
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:729:66
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:763:98
non_std/0.1.4/rust/test/dt/type_constructor/pair_test.rs:764:21
non_std/0.1.4/rust/test/dt/type_constructor/single_test.rs:1015:34
openai/1.0.0-alpha.13/src/chat.rs:434:22
openai/1.0.0-alpha.13/src/chat.rs:459:22
openai/1.0.0-alpha.13/src/chat.rs:501:22
openai/1.0.0-alpha.13/src/completions.rs:181:26
openai/1.0.0-alpha.13/src/edits.rs:102:26
oxygengine-ha-renderer/0.46.1/src/components/text_instance.rs:682:32
partial-functional/0.1.0/examples/orderline.rs:102:22
pid/4.0.0/src/lib.rs:367:43
pid/4.0.0/src/lib.rs:368:17
pid/4.0.0/src/lib.rs:368:22
pid/4.0.0/src/lib.rs:368:31
pid/4.0.0/src/lib.rs:368:36
pid/4.0.0/src/lib.rs:368:45
pid/4.0.0/src/lib.rs:368:50
plotlib/0.5.1/examples/function_svg.rs:10:69
plotlib/0.5.1/examples/function_svg.rs:12:60
plotlib/0.5.1/src/style.rs:186:24
plurals/0.4.0/src/root.rs:139:5
reductor/0.0.10/src/reductors/mean.rs:71:22
roughr/0.6.0/src/renderer.rs:1646:23
roughr/0.6.0/src/renderer.rs:1653:23
rust_lisp/0.18.0/tests/interpreter.rs:35:60
sdfu/0.3.1-alpha.1/src/mathtypes.rs:115:37
sdfu/0.3.1-alpha.1/src/mathtypes.rs:119:39
sdfu/0.3.1-alpha.1/src/mathtypes.rs:123:50
smoothy/0.3.0/tests/equals.rs:401:42
smoothy/0.3.0/tests/equals.rs:406:42
smoothy/0.3.0/tests/equals.rs:412:46
smoothy/0.3.0/tests/equals.rs:419:46
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:520:55
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:541:55
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:542:21
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:550:55
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:551:21
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:559:42
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:560:47
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:568:55
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:702:66
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:703:21
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:711:66
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:712:21
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:720:53
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:721:58
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:729:66
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:763:98
std_tools/0.1.4/rust/test/dt/type_constructor/pair_test.rs:764:21
std_tools/0.1.4/rust/test/dt/type_constructor/single_test.rs:1015:34
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:520:55
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:541:55
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:542:21
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:550:55
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:551:21
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:559:42
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:560:47
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:568:55
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:702:66
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:703:21
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:711:66
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:712:21
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:720:53
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:721:58
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:729:66
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:763:98
std_x/0.1.4/rust/test/dt/type_constructor/pair_test.rs:764:21
std_x/0.1.4/rust/test/dt/type_constructor/single_test.rs:1015:34
sugarloaf/0.0.27/src/glyph/brush/builder.rs:48:34
sugarloaf/0.0.27/src/glyph/brush/builder.rs:49:37
taffy/0.3.12/src/style_helpers.rs:58:31
taffy/0.3.13/src/style_helpers.rs:58:31
taffy/0.3.16/src/style_helpers.rs:58:31
taffy/0.3.18/src/style_helpers.rs:58:31
taffy/0.4.0/src/style_helpers.rs:58:31
taffy/0.4.1/src/style_helpers.rs:58:31
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:108:29
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:110:15
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:120:63
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:121:17
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:122:15
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:123:17
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:126:72
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:127:17
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:128:15
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:129:17
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:132:60
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:138:58
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:144:54
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:69:64
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:70:21
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:83:37
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:84:42
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:96:42
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_main_test_only.rs:98:15
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_test.rs:106:69
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_test.rs:159:69
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_test.rs:21:60
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_test.rs:22:21
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_test.rs:28:37
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_test.rs:29:42
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_test.rs:35:60
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_test.rs:41:58
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_test.rs:82:71
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_test.rs:83:21
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_test.rs:89:48
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_test.rs:90:53
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parameter_test.rs:96:71
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parametrized_test.rs:264:38
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parametrized_test.rs:265:21
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parametrized_test.rs:274:38
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parametrized_test.rs:275:21
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parametrized_test.rs:285:38
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parametrized_test.rs:35:37
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parametrized_test.rs:36:21
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parametrized_test.rs:46:30
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parametrized_test.rs:47:33
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parametrized_test.rs:53:37
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parametrized_test.rs:59:35
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parametrized_test.rs:86:37
type_constructor/0.1.19/rust/test/dt/type_constructor/many_parametrized_test.rs:87:21
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:520:55
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:541:55
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:542:21
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:550:55
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:551:21
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:559:42
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:560:47
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:568:55
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:702:66
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:703:21
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:711:66
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:712:21
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:720:53
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:721:58
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:729:66
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:763:98
type_constructor/0.1.19/rust/test/dt/type_constructor/pair_test.rs:764:21
type_constructor/0.1.19/rust/test/dt/type_constructor/single_parametrized_test.rs:515:34
wright_omega/0.1.1/src/lib.rs:61:39
wright_omega/0.1.1/src/lib.rs:62:39

Now, technically: I don't really like adding the extra complexity of this fallback, in large part because I think removing that fallback would take a while, even with a FCW. This has a wide impact. So, I'm going to "second" nikos "niko-is-nervous" concern.

If the FCW ends up getting merged I plan to submit PRs to affected projects to help the process along. Ultimately, it's entirely possible to revert this change until f16 is stabilised (as until then impl From<f16> for f32 will only be usable on nightly), so there's plenty of time to revert this if there ends up being unexpected consequences.

@joshtriplett
Copy link
Member

FWIW, personally, regardless of how we implement it, I think this code should work in the future:

fn func(_: impl Into<f32>) {}
fn main() { func(1.0); }

I also think this code should work, and today it doesn't:

fn func(_: impl Into<u16>) {}
fn main() { func(1); }

Whether we do that via a fallback mechanism, or some more general solution for literals, I think those should work and continue working forever. If we decide to remove the fallback mechanism being proposed here, it should only be because we added something else that makes that code continue working.

@jackh726
Copy link
Member

I guess, for me to feel comfortable about this, I would want the FCW to land first, and to see 1) that the impact of that is not too large and 2) that it causes a significant reduction in the use of this fallback, indicating a strong likelihood that we will eventually be able to remove this hack.

@traviscross
Copy link
Contributor

traviscross commented Apr 30, 2025

I guess, for me to feel comfortable about this, I would want the FCW to land first, and to see 1) that the impact of that is not too large and 2) that it causes a significant reduction in the use of this fallback, indicating a strong likelihood that we will eventually be able to remove this hack.

Agree with @jackh726 here, and would add that ideally it'd work well enough that we don't need to add the hack at all.

@tgross35
Copy link
Contributor

I think Boxy may have hinted at this, but is implementation complexity across both solvers the reason we can't do a more general solution at this time? At a surface level it seems "easy" to solve both the float and int examples by trying T (i.e. no conversion) if Into<T> is ambiguous. But I admittedly know very little about the inner workings here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. F-f16_and_f128 `#![feature(f16)]`, `#![feature(f128)]` I-lang-nominated Nominated for discussion during a lang team meeting. I-lang-radar Items that are on lang's radar and will need eventual work or consideration. needs-fcp This change is insta-stable, so needs a completed FCP to proceed. proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. T-types Relevant to the types team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

f32::from(<untyped float>) inference with f16 and f128