]> git.lizzy.rs Git - rust.git/blobdiff - src/doc/complement-design-faq.md
Auto merge of #30145 - petrochenkov:hyg, r=nrc
[rust.git] / src / doc / complement-design-faq.md
index e887ed0cc5297042cf6dd712b6ddaf97e5415b1b..36e76896dad44d4fb7e7c62d263777f7ef328be2 100644 (file)
@@ -76,13 +76,11 @@ See [the C++ FQA][fqa]  about the "static initialization order fiasco", and
 [Eric Lippert's blog][elp] for the challenges in C#, which also has this
 feature.
 
-A nice replacement is the [lazy constructor macro][lcm] by [Marvin
-Löbel][kim].
+A nice replacement is [lazy_static][lazy_static].
 
 [fqa]: http://yosefk.com/c++fqa/ctors.html#fqa-10.12
 [elp]: http://ericlippert.com/2013/02/06/static-constructors-part-one/
-[lcm]: https://gist.github.com/Kimundi/8782487
-[kim]: https://github.com/Kimundi
+[lazy_static]: https://crates.io/crates/lazy_static
 
 ## The language does not require a runtime
 
@@ -99,7 +97,7 @@ Second, it makes cost explicit. In general, the only safe way to have a
 non-exhaustive match would be to panic the thread if nothing is matched, though
 it could fall through if the type of the `match` expression is `()`. This sort
 of hidden cost and special casing is against the language's philosophy. It's
-easy to ignore certain cases by using the `_` wildcard:
+easy to ignore all unspecified cases by using the `_` wildcard:
 
 ```rust,ignore
 match val.do_something() {