struct Foo { mutable Optional<std::chrono::seconds> s; }; Foo foo, foo2; foo = foo2; doesn't build because it tries to use wrong operator=.
Created attachment 249914 [details] patch
Comment on attachment 249914 [details] patch OK
https://trac.webkit.org/r182254
Where's your test!?!?!?!
I don't think something like this requires a test. There are no functional changes. Code like http://trac.webkit.org/changeset/182271 just doesn't compile without this. Note that Optional is simply our version of std::optional which is likely to be in C++17.