diff --git a/.mailmap b/.mailmap index 0f06604fa534b..8eaf8f16e4b6a 100644 --- a/.mailmap +++ b/.mailmap @@ -9,9 +9,11 @@ Aaron Todd Abhishek Chanda Abhishek Chanda Ahmed Charles Aydin Kim aydin.kim +Alex Burka Alex Burka Alex Lyon Alex Newman Alex HotShot Newman Alex Rønne Petersen +Alfie John Alfie John Andreas Gal Andrew Kuchev <0coming.soon@gmail.com> Andrew <0coming.soon@gmail.com> Andrew Poelstra @@ -20,6 +22,7 @@ Ariel Ben-Yehuda arielb1 Ariel Ben-Yehuda Ariel Ben-Yehuda Austin Seipp Ben Alpert +Ben Sago Ben S Ben S Benjamin Jackman Björn Steinbrink blake2-ppc @@ -29,9 +32,11 @@ Brian Dawn Carl-Anton Ingmarsson Carol (Nichols || Goulding) Carol Nichols Carol Willing +Chris C Cerami Chris C Cerami Chris Pressey Clark Gaebel Corey Farwell Corey Farwell +Corey Richardson Elaine "See More" Nemo David Klein David Manescu Damien Schoof @@ -51,7 +56,7 @@ Erick Tryzelaar Evgeny Sologubov Falco Hirschenberger Felix S. Klock II Felix S Klock II -Gareth Daniel Smith +Gareth Daniel Smith gareth Georges Dubus Graham Fawcett Graydon Hoare Graydon Hoare @@ -99,9 +104,11 @@ Matthew McPherrin Matthijs Hofstra Michael Williams Michael Woerister Michael Woerister +Ms2ger Neil Pankey Nicholas Mazzuca Nicholas Oliver Schneider Oliver 'ker' Schneider +Oliver Schneider Oliver Schneider Oliver Schneider Oliver Schneider Ožbolt Menegatti gareins Paul Faria Paul Faria Peer Aramillo Irizar parir @@ -116,6 +123,7 @@ Rob Arnold Robert Foss robertfoss Robert Gawdzik Robert Gawdzik ☢ Robert Millar +Ruud van Asseldonk Ruud van Asseldonk Ryan Scheel Sean Gillespie swgillespie Seonghyun Kim @@ -125,11 +133,14 @@ startling Steven Fackler Steven Stewart-Gallus Tamir Duberstein Tamir Duberstein +Thiago Pontes thiagopnts Ticki Ticki <@> Tim Chevalier Torsten Weber Ulrik Sverdrup Ulrik Sverdrup +Ulrik Sverdrup bluss bluss Vadim Petrochenkov petrochenkov +Vitali Haravy Vitali Haravy William Ting Xuefeng Wu Xuefeng Wu XuefengWu Youngsoo Son diff --git a/AUTHORS.txt b/AUTHORS.txt index 310a91b2d16fd..f0b3fe19e5c35 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -1,5 +1,6 @@ Rust was written by these fine people: +A.J. Gardner Aaron Friel Aaron Gallagher <_@habnab.it> Aaron Laursen @@ -10,6 +11,7 @@ Aaron Turon Aaron Weiss Abhishek Chanda Adam Bozanich +Adam Crume Adam Heins Adam Jacob Adam Roben @@ -22,7 +24,6 @@ Agoston Szepessy Ahmed Charles Aidan Cully Aidan Hobson Sayers -A.J. Gardner Akos Kiss Akshay Chiwhane Alan Andrade @@ -30,6 +31,17 @@ Alan Cutter Alan Williams Aleksander Balicki Aleksandr Koshlo +Aleksey Kladov +Alex Burka +Alex Crichton +Alex Gaynor +Alex Lyon +Alex Newman +Alex Ozdemir +Alex Quach +Alex Rønne Petersen +Alex Stokes +Alex Whitney Alexander Artemenko Alexander Bliskovsky Alexander Campbell @@ -40,31 +52,26 @@ Alexander Polakov Alexander Stavonin Alexandre Gagnon Alexandros Tasos -Alex Burka -Alex Crichton +AlexDenisov <1101.debian@gmail.com> Alexei Sholik -Alex Gaynor Alexis Beingessner -Alex Lyon -Alex Newman -Alex Quach -Alex Rønne Petersen -Alex Stokes -Alex Whitney Alfie John -Alisdair Owens Ali Smesseim +Alisdair Owens Aljaž "g5pw" Srebrnič +Amit Aryeh Levy Amol Mundayoor Amy Unger Anatoly Ikorsky Anders Kaseorg -Andrea Canciani Andre Arko +Andre Bogus +Andrea Canciani Andreas Gal Andreas Martens Andreas Neuhaus Andreas Ots +Andreas Sommer Andreas Tolfsen Andrei Formiga Andrei Oprea @@ -90,6 +97,7 @@ Anthony Juckel Anton Löfgren Antti Keränen Aram Visser +arcnmx Arcterus Areski Belaid Ariel Ben-Yehuda @@ -99,6 +107,7 @@ Armin Preiml Armin Ronacher Arpad Borsos Artem +Artem Shitov Arthur Liao arthurprs arturo @@ -115,9 +124,9 @@ Axel Viala Aydin Kim bachm Barosl Lee +Bastien Dejean bcoopers Ben Alpert -benaryorg Ben Ashford Ben Blum ben fleis @@ -125,27 +134,29 @@ Ben Foppa Ben Gamari Ben Gesoff Ben Harris +Ben Kelly +Ben Noordhuis +Ben S +Ben Sago +Ben Striegel +benaryorg Benjamin Adamson Benjamin Herr Benjamin Jackman Benjamin Kircher Benjamin Peterson -Ben Kelly -Ben Noordhuis -Ben Sago -Ben Striegel +benshu Bheesham Persaud Bilal Husain Bill Fallon Bill Myers Bill Wendling +billpmurphy Birunthan Mohanathas Björn Steinbrink -blake2-ppc Blake Loring -bluss -bluss -Boris Egorov +blake2-ppc +Boris Egorov bors Bouke van der Bijl Brad King @@ -170,28 +181,35 @@ Brian Quinlan Brody Holden Bruno de Oliveira Abinader Bryan Dunsmore +Bryce Van Dyk Byron Williams Cadence Marseille Caitlin Potter +Cam Jackson Cameron Zwarich Camille Roussel Camille TJHOA -Cam Jackson -Carl-Anton Ingmarsson Carl Lerche +Carl-Anton Ingmarsson Carlos Galarza +Carlos Liam Carol (Nichols || Goulding) Carol Willing Carter Hinsley Carter Tazio Schonwald CarVac Caspar Krieger +Cesar Eduardo Barros +Charlotte Spencer Chase Southwood Ches Martin chitra Chloe <5paceToast@users.noreply.github.com> +Chris C Cerami Chris Double +Chris Drake Chris Hellmuth +Chris Krycho Chris Morgan Chris Nixon Chris Peterson @@ -199,6 +217,7 @@ Chris Pressey Chris Sainty Chris Shea Chris Thorn +Chris Wong Christian Persson Christian Stadelmann Christian Weinz @@ -206,7 +225,7 @@ Christoph Burgdorf Christopher Bergqvist Christopher Chambers Christopher Kendell -Chris Wong +christopherdumas chromatic Chuck Bassett Chuck Ries @@ -220,18 +239,23 @@ Cole Mickens Cole Reynolds Colin Davidson Colin Sherratt +Colin Wallace Colin Walters comex Conrad Kleinespel +Corentin Henry Corey Farwell Corey Ford Corey Richardson Cornel Punga +Craig Hills crhino -Cristian Kubis Cristi Burcă +Cristi Cobzarenco +Cristian Kubis critiqjo Cruz Julian Bishop +Daan Rijks Damian Gryski Damien Grassart Damien Radtke @@ -240,13 +264,19 @@ Dan Albert Dan Burkert Dan Callahan Dan Connolly +Dan Luu +Dan Schatzberg +Dan W. <1danwade@gmail.com> +Dan Yang Daniel Albert Daniel Brooks +Daniel Carral Daniel Fagnan Daniel Farina Daniel Griffen Daniel Grunwald Daniel Hofstetter +Daniel Keep Daniel Lobato García Daniel Luz Daniel MacDougall @@ -258,18 +288,16 @@ Daniel Ramos Daniel Rosenwasser Daniel Ursache Dogariu Daniil Smirnov -Dan Luu -Dan Schatzberg -Dan W. <1danwade@gmail.com> -Dan Yang Darin Morrison darkf Darrell Hamilton +Dato Simó Dave Herman Dave Hodder Dave Huseby David Campbell David Creswick +David Elliott David Forsythe David Halperin David King @@ -279,13 +307,16 @@ David Manescu David Rajchenbach-Teller David Reid David Renshaw +David Ripton David Ross David Stygstra +David Szotten David Vazgenovich Shakaryan David Voit Davis Silverman defuz Denis Defreyne +DenisKolodin Derecho Derek Chiang Derek Guenther @@ -298,9 +329,9 @@ Diggory Blake Diggory Hardy Dimitri Krassovski Dirk Gadsden +Dirk Leifeld Dirkjan Bussink Dirkjan Ochtman -Dirk Leifeld Div Shekhar diwic DJUrsus @@ -308,13 +339,15 @@ dmgawel Dmitry Ermolov Dmitry Promsky Dmitry Vasiliev -Dominick Allen +Do Nhat Minh Dominic van Berkel +Dominick Allen Dominik Inführ -Do Nhat Minh +Don Petersen +Dong Zhou +Dongie Agnir donkopotamus Donovan Preston -Don Petersen Douglas Young Drew Crawford Drew Willcoxon @@ -322,6 +355,7 @@ Duane Edwards Duncan Regan Dylan Braithwaite Dylan Ede +Dylan McKay Dzmitry Malyshau Earl St Sauver econoplas @@ -338,8 +372,9 @@ Eljay Elliott Slaughter Elly Fong-Jones elszben -emanueLczirai +Emanuel Czirai Emanuel Rylke +emanueLczirai Emeliov Dmitrii Emilio Cobos Álvarez Emily Dunham @@ -348,12 +383,12 @@ Eric Biggers Eric Holk Eric Holmes Eric Kidd -Erick Rivas -Erick Tryzelaar Eric Martin Eric Platon Eric Reed Eric Ye +Erick Rivas +Erick Tryzelaar Erik Lyon Erik Michaels-Ober Erik Price @@ -368,6 +403,7 @@ Evan Klitzke Evan McClanahan Evgeny Sologubov Fabian Deutsch +Fabiano Beselga Fabrice Desré FakeKane Falco Hirschenberger @@ -387,9 +423,9 @@ Florian Wilkens Florian Zeitz fort Francisco Souza +Frank McSherry frankamp Franklin Chen -Frank McSherry Franziska Hinkelmann free-Runner FuGangqiang @@ -399,8 +435,8 @@ Gábor Horváth Gábor Lehel Gabriel gamazeps -Gareth Daniel Smith gareth +Gareth Daniel Smith Garming Sam Garrett Heel Gary Linscott @@ -419,10 +455,11 @@ Gil Cottle Gioele Barabucci github-monoculture Gleb Kozyrev +glendc Glenn Willen Gonçalo Cabrita <_@gmcabrita.com> -Grahame Bowland Graham Fawcett +Grahame Bowland Graydon Hoare Greg Chapple Grigoriy @@ -447,11 +484,12 @@ Honza Strnad Huachao Huang Hugo Jobling Hugo van der Wijst +Hunan Rostomyan Huon Wilson Hyeon Kim Ian Connolly -Ian Daniher Ian D. Bollinger +Ian Daniher Ignacio Corderi Igor Bukanov Igor Strebezhev @@ -459,17 +497,24 @@ Ilya Dmitrichenko Ilyong Cho Ingo Blechschmidt inrustwetrust +Irving A.J. Rivas Z. Isaac Aggrey Isaac Dupree Isaac Ge Ivan Enderlin -Ivano Coppola +Ivan Jager Ivan Petkov Ivan Radanov Ivanov Ivan Ukhov +Ivano Coppola Iven Hsu +J Bailey +J. J. Weber +J. Ryan Stinnett +J.C. Moyer Jack Heizer Jack Moffitt +Jack Wilson Jacob Edelman Jacob Harris Cryer Kragh Jacob Hegna @@ -481,25 +526,28 @@ Jake Hickey Jake Kaufman Jake Kerr Jake Scott +Jake Shadle Jakub Bukaj Jakub Vrána Jakub Wieczorek +James Bell James Deng James Hurst James Lal James Laverack -jamesluke +James McGlashan James Miller James Perry James Rowe James Sanders James Tranovich +jamesluke Jan Andersson Jan Bujak -Jan-Erik Rediger Jan Kobler Jan Likar Jan Niklas Hasse +Jan-Erik Rediger Jannis Harder Jannis Redmann Jared Roesch @@ -515,9 +563,7 @@ jatinn Jauhien Piatlicki Jay Anderson Jay True -J Bailey jbranchaud -J.C. Moyer Jeaye Jed Davis Jed Estep @@ -539,29 +585,29 @@ Jesse Ray Jesse Ruderman Jessy Diamond Exum Jesús Espino +Jethro Beekman jethrogb Jexell Jihyeok Seo Jihyun Yu Jim Apple Jim Blandy +Jim Radford Jimmie Elvenmark Jimmy Lu Jimmy Zelinskie -Jim Radford Jiří Stránský -J. J. Weber jmgrosen jmu303 João Oliveira Joe Pletcher Joe Schafer +Johann Hofmann +Johann Tuffe Johannes Hoff Johannes Löthberg Johannes Muenzel Johannes Oertel -Johann Hofmann -Johann Tuffe John Albietz John Barker John Clements @@ -575,29 +621,34 @@ John Louis Walker John Schmidt John Simon John Talling +John Thomas John Van Enk John Zhang joliv +Jon Haddad +Jon Morton Jonas Hietala +Jonas Schievink Jonathan Bailey Jonathan Boyett Jonathan Hansford Jonathan Reem Jonathan S Jonathan Sternberg -Jon Haddad -Jon Morton JONNALAGADDA Srinivas jooert Joonas Javanainen Jordan Humphreys Jordan Woehr Jordi Boggiano -Jorge Aparicio +Jorge Aparicio Jorge Israel Peña Joris Rehm Jormundir +Jørn Lode +Jose Narvaez Jose Narvaez +Joseph Caudle Joseph Crail Joseph Martin Joseph Rushton Wakeling @@ -609,8 +660,9 @@ Joshua Clark Joshua Landau Joshua Wise Joshua Yanovski -JP-Ellis +jotomicron JP Sugarbroad +JP-Ellis jrincayc Julia Evans Julian Orth @@ -641,6 +693,7 @@ Kevin Rauwolf Kevin Walter Kevin Yap kgv +kickinbahk Kieran Hunt Kiet Tran Kim Røen @@ -657,6 +710,7 @@ Kubilay Kocak kulakowski kwantam Kyeongwoon Lee +Kyle Robinson Young Lai Jiangshan Lars Bergstrom Laurence Tratt @@ -666,18 +720,20 @@ Lawrence Velázquez Leah Hanson Lee Aronson Lee Jeffery +Lee Jenkins Lee Wondong Leif Arne Storset LemmingAvalanche Lennart Kudling Leo Correa -Leonids Maslovs Leo Testard +Leonids Maslovs leunggamciu Liam Monahan Liigo Zhuang Lindsey Kuper Lionel Flandrin +llogiq Logan Chien Loïc Damien Lorenz @@ -701,9 +757,11 @@ Makoto Kato Makoto Nakashima Manish Goregaokar Manuel Hoffmann -marcell +Marc-Antoine Perennou Marcel Müller Marcel Rodrigues +marcell +Marcello Seri Marcus Klaas Margaret Meyerhofer Marijn Haverbeke @@ -714,16 +772,19 @@ Mark Lacey <641@rudkx.com> Mark Mossberg Mark Rowe Mark Sinclair +Mark Vian +Marko Lalic Markus Siemens Markus Unterwaditzer Markus Westerlind -Mark Vian +Marti Raudsepp Martin DeMello Martin Olsson Martin Pool -Marti Raudsepp +Martin Wernstål Marvin Löbel masklinn +Matěj Grabovský Matej Lach Mateusz Czapliński Mathieu David @@ -735,6 +796,10 @@ Matt Carberry Matt Coffin Matt Cox Matt Friedman +Matt McPherrin +Matt Murphy +Matt Roche +Matt Windsor Matthew Astley Matthew Auld Matthew Iselin @@ -743,16 +808,12 @@ Matthew O'Connor Matthias Einwag Matthijs Hofstra Matthijs van der Vleuten -Matt McPherrin -Matt Murphy -Matt Roche -Matt Windsor Mátyás Mustoha -Maxime Quandalle -Maximilian Haack -Maxim Kolganov Max Jacobson Max Penet +Maxim Kolganov +Maxime Quandalle +Maximilian Haack Maya Nitu mchaput mdinger @@ -762,15 +823,18 @@ Michael Alexander Michael Arntzenius Michael Bebenita Michael Budde +Michael Choate Michael Dagitses Michael Darakananda Michael Fairley Michael Gehring +Michael Howell Michael Kainer Michael Layzell Michael Letterle Michael Macias Michael Matuzak +Michael McConville Michael Neumann Michael Pankov Michael Park @@ -785,15 +849,16 @@ Michael Wu Michael Zhou Michał Czardybon Michał Krasnoborski +Mick Koch Mickaël Delahaye Mickaël Raybaud-Roig Mickaël Salaün -Mick Koch midinastasurazz Mihnea Dobrescu-Balaur Mike Boutin Mike Dilger Mike English +Mike Marcacci Mike Pedersen Mike Robinson Mike Sampson @@ -803,8 +868,8 @@ mitaa mitchmindtree Mohammed Attia moonglum -mrec mr.Shu +mrec Ms2ger Mukilan Thiagarajan Murarth @@ -812,19 +877,21 @@ musitdev Nafis nathan dotz Nathan Froyd -Nathaniel Herman -Nathaniel Theis +Nathan Kleyn Nathan Long Nathan Stoddard Nathan Typanski Nathan Wilson Nathan Zadoks +Nathaniel Herman +Nathaniel Theis Neil Pankey Nelo Onyiah Nelson Chen NiccosSystem Nicholas Bishop Nicholas Mazzuca +Nicholas Seckar Nick Cameron Nick Desaulniers Nick Fitzgerald @@ -840,8 +907,10 @@ Nif Ward Nikita Pekin Niklas Koep Niko Matsakis +Nikolay Kondratyev Nils Liberg Nils Winter +Niranjan Padmanabhan noam Noam Yorav-Raphael NODA, Kai @@ -849,25 +918,31 @@ Noufal Ibrahim novalis nsf nwin +nxnfufunezn +O S K Chaitanya Oak OGINO Masanori OlegTsyba Oliver Schneider +Oliver Schneider +Oliver Schneider +Oliver Schneider Olivier Saut olivren Olle Jonsson olombard Or Brostovski -Oren Hazi Or Neeman +Oren Hazi Orphée Lafond-Lummis Orpheus Lummis osa1 -O S K Chaitanya +Overmind JIANG Ožbolt Menegatti P1start Pablo Brasero Palmer Cox +panicbit Paolo Falabella Parker Moore Pascal Hertleif @@ -898,16 +973,18 @@ Peter Elmers Peter Hull Peter Marheine Peter Minten +Peter Reid Peter Schuller Peter Williams Peter Zotov Petter Remen pez Phil Dawes +Phil Ruffwind Philip Munksgaard Philipp Brüschweiler Philipp Gesang -Phil Ruffwind +Philipp Oppermann Pierre Baillet Piotr Czarnecki Piotr Jawniak @@ -944,27 +1021,30 @@ Renato Alves Renato Riccieri Santos Zannon Reuben Morais reus -Ricardo Martins +Reza Akhavan Ricardo M. Correia -Richard Diamond +Ricardo Martins +Ricardo Signes Rich Lane +Richard Diamond Richo Healey Rick Waldron Ricky Taylor rjz Rob Arnold +Rob Hoelz +Rob Young Robert Buonpastore Robert Clipsham Robert Foss +Robert Gardner Robert Gawdzik Robert Irelan Robert Knight Robert Millar -Rob Hoelz Robin Gloster Robin Kruppe Robin Stocker -Rob Young Rohit Joshi Roland Tanglao Rolf Timmermans @@ -973,6 +1053,7 @@ Ron Dahlgren Rory O’Kane Roy Crihfield Roy Frostig +Ruby Rüdiger Sonderfeld rundrop1 Russell Johnston @@ -985,7 +1066,8 @@ Ryan Prichard Ryan Riginding Ryan Scheel Ryman -らいどっと +Ryo Munakata +S Pradeep Kumar Sae-bom Kim Salem Talha saml @@ -1013,14 +1095,16 @@ Sean T Allen Sebastian Gesemann Sebastian N. Fernandez Sebastian Rasmussen +Sebastian Wicki Sebastian Zaha Sébastien Chauvel Sébastien Crozet Sébastien Marie Sebastien Martini Sébastien Paolacci -Seonghyun Kim +Seeker14491 Seo Sanghyeon +Seonghyun Kim Sergio Benitez Seth Faxon Seth Pink @@ -1030,23 +1114,25 @@ Shamir Khodzha sheroze1123 Shmuale Mark SiegeLord -Simonas Kazlauskas Simon Barber-Dueck Simon Kern +Simon Mazur Simon Persson Simon Sapin Simon Wollwage +Simonas Kazlauskas simplex Sindre Johansen sinkuu +skeleten Skyler smenardpw Son sp3d -S Pradeep Kumar Squeaky startling Stefan Bucur +Stefan O'Rear Stefan Plantikow Stepan Koltsov Sterling Greene @@ -1072,13 +1158,13 @@ Taras Shpot tav Taylor Hutchison Ted Horst +Ted Mielczarek Tero Hänninen th0114nd Thad Guidry Theo Belaire theptrk Thiago Carvalho -thiagopnts Thiago Pontes Thomas Backman Thomas Bracht Laumann Jespersen @@ -1092,13 +1178,15 @@ Till Hoeppner Tim Brooks Tim Chevalier Tim Cuthbertson +Tim JIANG Tim Joseph Dumol Tim Kuehn -Timon Rapp -Timothée Ravier +Tim Neumann Tim Parenti Tim Ringenbach Tim Taubert +Timon Rapp +Timothée Ravier tinaun Tincan Ting-Yu Lin @@ -1107,10 +1195,10 @@ Tobba Tobias Bucher Toby Scrace Tohava -Tomas Sedovic Tom Chittenden Tom Jakubowski Tom Lee +Tomas Sedovic Tommy M. McGuire Tomoki Aonuma Toni Cárdenas @@ -1124,11 +1212,11 @@ Tristan Storch tshakah Tshepang Lekhonkhobe Tuncer Ayaz +Ty Overby Tycho Sci Tyler Bindon Tyler Thrailkill tynopex -Ty Overby Ulrik Sverdrup Ulysse Carion User Jyyou @@ -1138,6 +1226,7 @@ Vadim Chugunov Vadim Petrochenkov Valentin Tsatskin Valerii Hiora +Viacheslav Chimishuk Victor Berger Victor van den Elzen Victory @@ -1157,6 +1246,7 @@ Vladimir Rutsky Vladimir Smola Vojtech Kral Volker Mische +w00ns Wade Mealing Wangshan Lu WebeWizard @@ -1165,32 +1255,39 @@ Wei-Ming Yang Wendell Smith Wesley Wiser whataloadofwhat +whitequark wickerwaka Wilfred Hughes +Will Will Andrews Will Engler Will Hipschman +Will Speak William Throwe William Ting Willson Mock -Will +Willy Aguirre +Without Boats Wojciech Ogrodowczyk wonyong kim xales +Xavier Shay +Xiao Chuan Yu +Xue Fuqiao Xuefeng Wu -XuefengWu Xuefeng Wu -Xue Fuqiao +XuefengWu Yasuhiro Fujii YawarRaza7349 Yazhong Liu Yehuda Katz Yongqian Li York Xiang +Yoshito Komatsu +Young Wu Young-il Choi Youngmin Yoo Youngsoo Son -Young Wu Yuri Albuquerque Yuri Kunde Schlesner Z1 @@ -1202,4 +1299,5 @@ Zbigniew Siciarz Ziad Hatahet zofrex Zooko Wilcox-O'Hearn +らいどっと 克雷 diff --git a/src/doc/trpl/syntax-index.md b/src/doc/trpl/syntax-index.md index 258648b450475..d0b46ed37193f 100644 --- a/src/doc/trpl/syntax-index.md +++ b/src/doc/trpl/syntax-index.md @@ -60,6 +60,7 @@ * `-` (`- expr`): arithmetic negation. Overloadable (`Neg`). * `-=` (`var -= expr`): arithmetic subtraction & assignment. * `->` (`fn(…) -> type`, `|…| -> type`): function and closure return type. See [Functions], [Closures]. +* `-> !` (`fn(…) -> !`, `|…| -> !`): diverging function or closure. See [Diverging Functions]. * `.` (`expr.ident`): member access. See [Structs], [Method Syntax]. * `..` (`..`, `expr..`, `..expr`, `expr..expr`): right-exclusive range literal. * `..` (`..expr`): struct literal update syntax. See [Structs (Update syntax)]. @@ -189,6 +190,7 @@ [Crates and Modules (Importing External Crates)]: crates-and-modules.html#importing-external-crates [Crates and Modules (Importing Modules with `use`)]: crates-and-modules.html#importing-modules-with-use [Crates and Modules (Re-exporting with `pub use`)]: crates-and-modules.html#re-exporting-with-pub-use +[Diverging Functions]: functions.html#diverging-functions [Enums]: enums.html [Foreign Function Interface]: ffi.html [Functions (Early Returns)]: functions.html#early-returns diff --git a/src/doc/trpl/the-stack-and-the-heap.md b/src/doc/trpl/the-stack-and-the-heap.md index f30dacc485aae..0bc2ca263d5b7 100644 --- a/src/doc/trpl/the-stack-and-the-heap.md +++ b/src/doc/trpl/the-stack-and-the-heap.md @@ -97,7 +97,7 @@ Because `0` was taken by the first frame, `1` and `2` are used for `foo()`’s stack frame. It grows upward, the more functions we call. -There’s some important things we have to take note of here. The numbers 0, 1, +There are some important things we have to take note of here. The numbers 0, 1, and 2 are all solely for illustrative purposes, and bear no relationship to the actual numbers the computer will actually use. In particular, the series of addresses are in reality going to be separated by some number of bytes that diff --git a/src/etc/add-authors.sh b/src/etc/add-authors.sh index 917053cc205eb..3ae0ec73957e7 100644 --- a/src/etc/add-authors.sh +++ b/src/etc/add-authors.sh @@ -18,6 +18,11 @@ # changes. If there are incorrect additions fix it by editing # .mailmap and re-running the script. +if [ "${1-}" = "" ]; then + echo "Usage: add-authors.sh 1.0.0..rust-lang/master" + exit 1 +fi + set -u -e range="$1" @@ -27,6 +32,6 @@ tmp_file="./AUTHORS.txt.tmp" old_authors="$(cat "$authors_file" | tail -n +2 | sed "/^$/d" | sort)" new_authors="$(git log "$range" --format="%aN <%aE>" | sort | uniq)" -echo "Rust was written by these fine people:\n" > "$tmp_file" -echo "$old_authors\n$new_authors" | sort | uniq >> "$tmp_file" +printf "%s\n\n" "Rust was written by these fine people:" > "$tmp_file" +printf "%s\n%s" "$old_authors" "$new_authors" | sort | uniq >> "$tmp_file" mv -f "$tmp_file" "$authors_file" diff --git a/src/libcore/macros.rs b/src/libcore/macros.rs index bb112327abf4b..5b5f59d5ddbb7 100644 --- a/src/libcore/macros.rs +++ b/src/libcore/macros.rs @@ -34,6 +34,8 @@ macro_rules! panic { /// This will invoke the `panic!` macro if the provided expression cannot be /// evaluated to `true` at runtime. /// +/// This macro has a second version, where a custom panic message can be provided. +/// /// # Examples /// /// ``` @@ -99,6 +101,9 @@ macro_rules! assert_eq { /// This will invoke the `panic!` macro if the provided expression cannot be /// evaluated to `true` at runtime. /// +/// Like `assert!`, this macro also has a second version, where a custom panic +/// message can be provided. +/// /// Unlike `assert!`, `debug_assert!` statements are only enabled in non /// optimized builds by default. An optimized build will omit all /// `debug_assert!` statements unless `-C debug-assertions` is passed to the diff --git a/src/librustc_privacy/lib.rs b/src/librustc_privacy/lib.rs index ed8ec27705af7..dd990abaa9aa3 100644 --- a/src/librustc_privacy/lib.rs +++ b/src/librustc_privacy/lib.rs @@ -389,6 +389,7 @@ struct PrivacyVisitor<'a, 'tcx: 'a> { external_exports: ExternalExports, } +#[derive(Debug)] enum PrivacyResult { Allowable, ExternallyDenied, @@ -645,9 +646,17 @@ impl<'a, 'tcx> PrivacyVisitor<'a, 'tcx> { /// Guarantee that a particular definition is public. Returns a CheckResult /// which contains any errors found. These can be reported using `report_error`. /// If the result is `None`, no errors were found. - fn ensure_public(&self, span: Span, to_check: DefId, - source_did: Option, msg: &str) -> CheckResult { - let id = match self.def_privacy(to_check) { + fn ensure_public(&self, + span: Span, + to_check: DefId, + source_did: Option, + msg: &str) + -> CheckResult { + debug!("ensure_public(span={:?}, to_check={:?}, source_did={:?}, msg={:?})", + span, to_check, source_did, msg); + let def_privacy = self.def_privacy(to_check); + debug!("ensure_public: def_privacy={:?}", def_privacy); + let id = match def_privacy { ExternallyDenied => { return Some((span, format!("{} is private", msg), None)) } @@ -662,8 +671,8 @@ impl<'a, 'tcx> PrivacyVisitor<'a, 'tcx> { // ancestry. (Both the item being checked and its parent must // be local.) let def_id = source_did.unwrap_or(to_check); - let node_id = self.tcx.map.as_local_node_id(def_id).unwrap(); - let (err_span, err_msg) = if id == node_id { + let node_id = self.tcx.map.as_local_node_id(def_id); + let (err_span, err_msg) = if Some(id) == node_id { return Some((span, format!("{} is private", msg), None)); } else { (span, format!("{} is inaccessible", msg)) diff --git a/src/librustdoc/html/format.rs b/src/librustdoc/html/format.rs index d12c5d2c6fb6b..79585a94cd0f3 100644 --- a/src/librustdoc/html/format.rs +++ b/src/librustdoc/html/format.rs @@ -378,7 +378,7 @@ fn primitive_link(f: &mut fmt::Formatter, Some(&LOCAL_CRATE) => { let len = CURRENT_LOCATION_KEY.with(|s| s.borrow().len()); let len = if len == 0 {0} else {len - 1}; - try!(write!(f, "", + try!(write!(f, "", repeat("../").take(len).collect::(), prim.to_url_str())); needs_termination = true; @@ -398,7 +398,7 @@ fn primitive_link(f: &mut fmt::Formatter, }; match loc { Some(root) => { - try!(write!(f, "", + try!(write!(f, "", root, path.0.first().unwrap(), prim.to_url_str())); diff --git a/src/librustdoc/html/static/main.css b/src/librustdoc/html/static/main.css index 5e27eab8575ee..a90bf17601fee 100644 --- a/src/librustdoc/html/static/main.css +++ b/src/librustdoc/html/static/main.css @@ -415,9 +415,12 @@ a { .content span.mod, .content a.mod, block a.current.mod { color: #4d76ae; } .content span.enum, .content a.enum, .block a.current.enum { color: #5e9766; } .content span.struct, .content a.struct, .block a.current.struct { color: #e53700; } -.content span.fn, .content a.fn, .block a.current.fn { color: #8c6067; } -.content span.method, .content a.method, .block a.current.method { color: #8c6067; } -.content span.tymethod, .content a.tymethod, .block a.current.tymethod { color: #8c6067; } +.content a.primitive { color: #39a7bf; } +.content a.type { color: #e57300; } +.content a.macro { color: #068000; } +.content span.fn, .content a.fn, .block a.current.fn, +.content span.method, .content a.method, .block a.current.method, +.content span.tymethod, .content a.tymethod, .block a.current.tymethod, .content .fnname { color: #8c6067; } .block a.current.crate { font-weight: 500; } diff --git a/src/test/compile-fail/issue-29161.rs b/src/test/compile-fail/issue-29161.rs new file mode 100644 index 0000000000000..1821f5717cf79 --- /dev/null +++ b/src/test/compile-fail/issue-29161.rs @@ -0,0 +1,26 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +mod a { + struct A; + + impl Default for A { + pub fn default() -> A { + //~^ ERROR E0449 + A; + } + } +} + + +fn main() { + a::A::default(); + //~^ ERROR method `default` is inaccessible + }