Hacker News new | ask | show | jobs
by ronsor 1903 days ago
No doubt I'll do something crazy, that is, try to implement this in C.
1 comments

I was going to > inb4 rust!, but, isn't Gecko built in Rust?
The style parts are in Rust, but layout is C++, I believe. servo does have an experimental layout engine (or two? layout 2020?) in Rust, but I don't think that ever reached a point where Mozilla were seriously considering replacing Gecko's with it.
I think Servo is basically a proving ground for replacing components in Firefox with Rust equivalents.
Gecko is (mostly, at least) traditional C++. Servo is written in Rust.
Would Rust be the best choice of language, given all the back pointers (previous, parent)?
Trees are not that bad in Rust, it's when you have a cyclical structure that Rust is really difficult.
Yes, that's what I meant by "back pointers". In the article, every node has a parent pointer and a child pointer (or several). You can't have both of these pointers without introducing cycles.