about summary refs log tree commit diff
path: root/src/doc/reference.md
AgeCommit message (Collapse)AuthorLines
2016-08-04Fix precedence table in referenceubsan-1/+2
2016-07-28Make it clear that the reference isn't normativeSteve Klabnik-0/+5
Any time someone edits the reference, it has to be taken very seriously, since it's the closest thing we have to a specification. This commit adds language which indicates that this is not a normative document, which makes it easier to make tweaks without worrying about forever harming the future of Rust by painting ourselves in a corner.
2016-07-26Rollup merge of #34461 - ubsan:master, r=steveklabnikSteve Klabnik-2/+31
Fix ABI string docs in reference.md
2016-07-16Rollup merge of #33362 - andradei:master, r=ManishearthGuillaume Gomez-3/+17
Add mention to RFC 940 in the Rust Reference. This PR adds a mention to hyphens in Cargo package names being replaced by underscores when used as a crate, as per [RFC 940](https://github.com/rust-lang/rfcs/blob/master/text/0940-hyphens-considered-harmful.md) It also formats the RFCs consistently as RFC XXX instead of RFCXXX.
2016-07-12Rollup merge of #34742 - abhijeetbhagat:master, r=steveklabnikGuillaume Gomez-1/+3
Update on struct expressions Update doc for struct expressions (#32769)
2016-07-10Update on struct expressions (check #32769)abhi-1/+3
2016-06-25Add vectorcall and fastcall explanationubsan-2/+4
2016-06-24First commit, fix ABI string docs in reference.mdubsan-2/+29
2016-06-15include list of charactersAlex Burka-1/+13
2016-06-15update reference for #29734Alex Burka-6/+2
2016-06-14reference: link to proper ffi attributesLiigo Zhuang-1/+1
2016-06-05Update reference to indicate stabilization of `deprecated` attribute.Chris Krycho-2/+1
2016-05-26Implement `..` in tuple (struct) patternsVadim Petrochenkov-0/+2
2016-05-09Add #[cfg(target_has_atomic)] to get atomic support for the current targetAmanieu d'Antras-0/+5
2016-05-05doc: Update reference with better description of target_envBrian Anderson-18/+26
The definition of this value recently changed slightly. It no longer corresponds directly to the target triple. Also shuffled things around to make the order of cfg descriptions more logical and added text related them to the target triple. cc #33403
2016-05-03Improve language.Isaac Andrade-3/+3
2016-05-02Add mention to RFC 940 in the Rust Reference.Isaac Andrade-3/+17
- It also keeps mentions to RFCs consistent with the format "RFC XXX"
2016-03-26Rollup merge of #32383 - aidanhs:aphs-heap-move-guarantee, r=alexcrichtonManish Goregaokar-0/+3
Document heap allocation location guarantee ``` 14:25 < aidanhs> is there any guarantee that boxes will not move the value on the heap when they are moved? 14:26 <@steveklabnik> aidanhs: ... i'm not sure if it's a guarantee, but it follows, generally 14:26 <@steveklabnik> aidanhs: moves mean memcpy, so you're memcpying the structure of the box itself, which is copying the pointer 14:26 <@steveklabnik> so the pointer won't be updated 14:26 <@steveklabnik> moves cannot do complex things like move the memory around on the heap 14:26 <@kmc> aidanhs: I would say it's guaranteed 14:27 < aidanhs> steveklabnik: yeah, that's what I was thinking, it'd be pretty strange for rust to do something, but I couldn't find any docs one way or the other 14:27 <@steveklabnik> kmc: aidanhs yeah, it's like a borderline thing that we don't explicitly guanratee but i think IS guaranteed by our other guarantees 14:27 <@steveklabnik> mostly that move == memcpy 14:28 < aidanhs> kmc: steveklabnik great thanks! would a PR to the rust reference along these lines be ok? 14:28 < jmesmon> aidanhs: I believe owning_ref has some discussion of that (stable references) 14:29 <@steveklabnik> aidanhs: i would probably take that, yeah 14:29 < aidanhs> jmesmon: thanks, I'll take a look at that ``` https://botbot.me/mozilla/rust/2016-02-22/?msg=60657619&page=18 r? @steveklabnik
2016-03-21Add support for naked functionsTicki-0/+2
2016-03-20Document heap allocation location guaranteeAidan Hobson Sayers-0/+3
2016-03-10Rollup merge of #32149 - steveklabnik:gh31628, r=blussSteve Klabnik-0/+4
Add other primitive types to the reference Fixes #31628
2016-03-09Add other primitive types to the referenceSteve Klabnik-0/+4
Fixes #31628
2016-03-08Rollup merge of #32083 - nodakai:reference-scoped-enum-alias, r=nikomatsakisSteve Klabnik-0/+10
reference.md: clarify the limitation of type alias on an enum Tentatively define the current behavior as the specification. Cf. rust-lang/rust#26264, rust-lang/rust#28556, rust-lang/rust#30936
2016-03-08Rollup merge of #31772 - nodakai:patch-1, r=steveklabnikSteve Klabnik-3/+9
Clarify the semantics of enum discriminants cf. https://doc.rust-lang.org/error-index.html#E0082 > The default type for enum discriminants is isize, but it can be adjusted by adding the repr attribute to the enum declaration. It would be great if anyone could check my English.
2016-03-08reference.md: clarify the limitation of type alias on an enumNODA, Kai-0/+10
Cf. rust-lang/rust#26264 Signed-off-by: NODA, Kai <nodakai@gmail.com>
2016-03-07reference.md: clarify negation.NODA, Kai-1/+7
Signed-off-by: NODA, Kai <nodakai@gmail.com>
2016-03-07Clarify the semantics of enum discriminantsKai Noda-3/+9
cf. https://doc.rust-lang.org/error-index.html#E0082
2016-03-06Auto merge of #30884 - durka:inclusive-ranges, r=aturonbors-0/+23
This PR implements [RFC 1192](https://github.com/rust-lang/rfcs/blob/master/text/1192-inclusive-ranges.md), which is triple-dot syntax for inclusive range expressions. The new stuff is behind two feature gates (one for the syntax and one for the std::ops types). This replaces the deprecated functionality in std::iter. Along the way I simplified the desugaring for all ranges. This is my first contribution to rust which changes more than one character outside of a test or comment, so please review carefully! Some of the individual commit messages have more of my notes. Also thanks for putting up with my dumb questions in #rust-internals. - For implementing `std::ops::RangeInclusive`, I took @Stebalien's suggestion from https://github.com/rust-lang/rfcs/pull/1192#issuecomment-137864421. It seemed to me to make the implementation easier and increase type safety. If that stands, the RFC should be amended to avoid confusion. - I also kind of like @glaebhoerl's [idea](https://github.com/rust-lang/rfcs/pull/1254#issuecomment-147815299), which is unified inclusive/exclusive range syntax something like `x>..=y`. We can experiment with this while everything is behind a feature gate. - There are a couple of FIXMEs left (see the last commit). I didn't know what to do about `RangeArgument` and I haven't added `Index` impls yet. Those should be discussed/finished before merging. cc @Gankro since you [complained](https://www.reddit.com/r/rust/comments/3xkfro/what_happened_to_inclusive_ranges/cy5j0yq) cc #27777 #30877 rust-lang/rust#1192 rust-lang/rfcs#1254 relevant to #28237 (tracking issue)
2016-02-29std: Stabilize APIs for the 1.8 releaseAlex Crichton-3/+0
This commit is the result of the FCPs ending for the 1.8 release cycle for both the libs and the lang suteams. The full list of changes are: Stabilized * `braced_empty_structs` * `augmented_assignments` * `str::encode_utf16` - renamed from `utf16_units` * `str::EncodeUtf16` - renamed from `Utf16Units` * `Ref::map` * `RefMut::map` * `ptr::drop_in_place` * `time::Instant` * `time::SystemTime` * `{Instant,SystemTime}::now` * `{Instant,SystemTime}::duration_since` - renamed from `duration_from_earlier` * `{Instant,SystemTime}::elapsed` * Various `Add`/`Sub` impls for `Time` and `SystemTime` * `SystemTimeError` * `SystemTimeError::duration` * Various impls for `SystemTimeError` * `UNIX_EPOCH` * `ops::{Add,Sub,Mul,Div,Rem,BitAnd,BitOr,BitXor,Shl,Shr}Assign` Deprecated * Scoped TLS (the `scoped_thread_local!` macro) * `Ref::filter_map` * `RefMut::filter_map` * `RwLockReadGuard::map` * `RwLockWriteGuard::map` * `Condvar::wait_timeout_with` Closes #27714 Closes #27715 Closes #27746 Closes #27748 Closes #27908 Closes #29866
2016-02-29Add the 'T' present in the rust bookAidan Hobson Sayers-1/+1
2016-02-27document inclusive range syntaxAlex Burka-0/+23
2016-02-27Rollup merge of #31909 - benaryorg:patch-2, r=ManishearthManish Goregaokar-1/+1
`continue` expression's description mentioned `break` instead of `continue`
2016-02-26documentation fixKatze-1/+1
`continue` expression's description mentioned `break` instead of `continue` Signed-off-by: benaryorg <binary@benary.org>
2016-02-25Document the null-char/null-byte escape in the referenceGeorg Brandl-0/+4
It appears in the examples, but is not covered by any of the cases in the prose description.
2016-02-25Rollup merge of #31868 - fhahn:capitalize-Rust, r=steveklabnikManish Goregaokar-1/+1
2016-02-25Rollup merge of #31863 - matklad:clarify-reference, r=steveklabnikManish Goregaokar-2/+2
Reference implied that use declarations may appear *only* at the top of blocks and modules, but it is not the case, and the following is valid: ```Rust fn foo() { let x = 92; use baz::bar; } ``` r? @steveklabnik
2016-02-24Capitalize some occurences of Rust in documentationFlorian Hahn-1/+1
2016-02-24reference: clarify use declaration locationAleksey Kladov-2/+2
2016-02-18reference: vtable entries: copy @nikomatsakis's wordingIvan Kozik-2/+3
2016-02-15reference: vtable entries are resolved at runtimeIvan Kozik-1/+1
2016-02-04Rollup merge of #31413 - tshepang:improve, r=steveklabnikSteve Klabnik-2/+2
2016-02-04Rollup merge of #31412 - tshepang:add-trailing-commas, r=steveklabnikSteve Klabnik-5/+5
2016-02-04Rollup merge of #31411 - tshepang:idiom, r=steveklabnikSteve Klabnik-1/+1
2016-02-04reference: add trailing commasTshepang Lekhonkhobe-5/+5
2016-02-04reference: make the line a little more readableTshepang Lekhonkhobe-2/+2
2016-02-04reference: explicit return at function end is not idiomaticTshepang Lekhonkhobe-1/+1
2016-02-01Remove "powerpc64le" and "mipsel" target_archAlex Crichton-1/+1
Currently the `mipsel-unknown-linux-gnu` target doesn't actually set the `target_arch` value to `mipsel` but it rather uses `mips`. Alternatively the `powerpc64le` target does indeed set the `target_arch` as `powerpc64le`, causing a bit of inconsistency between theset two. As these are just the same instance of one instruction set, let's use `target_endian` to switch between them and only set the `target_arch` as one value. This should cut down on the number of `#[cfg]` annotations necessary and all around be a little more ergonomic.
2016-01-29Rollup merge of #31264 - est31:block_coment_parent, r=alexcrichtonManish Goregaokar-1/+1
Block comments don't have to be in the format `/*! ... !*/` in order to be read as doc comments about the parent block. The format `/*! ... */` is enough.
2016-01-28Fix reference info about parent doc block commentsest31-1/+1
Block comments don't have to be in the format `/*! ... !*/` in order to be read as doc comments about the parent block. The format `/*! ... */` is enough.
2016-01-26Fix examples that use missing_docs lintMatt Brubeck-4/+4
The missing_docs lint only applies to public items in public modules, so this example code did not actually generate any warnings or errors.