about summary refs log tree commit diff
path: root/src/doc/reference.md
AgeCommit message (Collapse)AuthorLines
2016-01-16Auto merge of #30567 - steffengy:master, r=alexcrichtonbors-0/+3
Add support to use functions exported using vectorcall. This essentially only allows to pass a new LLVM calling convention from rust to LLVM. ```rust extern "vectorcall" fn abc(param: c_void); ``` references ---- http://llvm.org/docs/doxygen/html/CallingConv_8h_source.html https://msdn.microsoft.com/en-us/library/dn375768.aspx
2016-01-15Rollup merge of #30776 - antonblanchard:powerpc64_merge, r=alexcrichtonManish Goregaokar-1/+1
This adds support for big endian and little endian PowerPC64. make check runs clean apart from one big endian backtrace issue.
2016-01-13the reference was inferring values that didn't fit into their target typeOliver 'ker' Schneider-8/+8
2016-01-13Add powerpc64 and powerpc64le supportAnton Blanchard-1/+1
This adds support for big endian and little endian PowerPC64. make check runs clean apart from one big endian backtrace issue.
2016-01-11add feature gate "abi_vectorcall" for the vectorcall calling conventionSteffen-0/+3
2016-01-06Clarify how Rust treats backslashes at end of line in string literalsTobias Bucher-4/+4
Rust differs in that behavior from C: In C, the newline escapes are resolved before anything else, and in Rust this depends on whether the backslash is escaped itself. A difference can be observed in the following two programs: ```c #include <stdio.h> int main() { printf("\\ n\n"); return 0; } ``` ```rust fn main() { println!("\\ n"); } ``` The first program prints two newlines, the second one prints a backslash, a newline, the latin character n and a final newline.
2015-12-19Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakisbors-0/+2
This PR is a rebase of the original PR by @eddyb https://github.com/rust-lang/rust/pull/21836 with some unrebasable parts manually reapplied, feature gate added + type equality restriction added as described below. This implementation is partial because the type equality restriction is applied to all type ascription expressions and not only those in lvalue contexts. Thus, all difficulties with detection of these contexts and translation of coercions having effect in runtime are avoided. So, you can't write things with coercions like `let slice = &[1, 2, 3]: &[u8];`. It obviously makes type ascription less useful than it should be, but it's still much more useful than not having type ascription at all. In particular, things like `let v = something.iter().collect(): Vec<_>;` and `let u = t.into(): U;` work as expected and I'm pretty happy with these improvements alone. Part of https://github.com/rust-lang/rust/issues/23416
2015-12-18Require exact type equality + add testsVadim Petrochenkov-0/+2
+ Rebase fixes
2015-12-18Rewrite VisiblePrivateTypesVisitorVadim Petrochenkov-4/+0
2015-12-12Implement `#[deprecated]` attribute (RFC 1270)Vadim Petrochenkov-0/+2
2015-12-09Rollup merge of #30224 - matklad:super-docs, r=steveklabnikSteve Klabnik-0/+19
Make clear that `super` may be included in the path several times. r? @steveklabnik
2015-12-05DOCS: update reference about pathsAleksey Kladov-0/+19
2015-11-26Added stmt_expr_attribute feature gateMarvin Löbel-0/+3
2015-11-25Remove `#[staged_api]`Vadim Petrochenkov-4/+0
2015-11-24Rollup merge of #30020 - Manishearth:unit, r=blussSteve Klabnik-2/+2
`unit` was in code formatting, which is wrong, since it's not actual code. The correct code is `()`.
2015-11-24Update reference.mdManish Goregaokar-2/+2
2015-11-20Rename #[deprecated] to #[rustc_deprecated]Vadim Petrochenkov-1/+1
2015-11-17Rollup merge of #29891 - steveklabnik:gh29470, r=alexcrichtonSteve Klabnik-4/+11
Fixes #29470
2015-11-17Clear up the reference around letSteve Klabnik-11/+12
First, re-word the section on if let/while let to be more clear. Second, actually call them let statements in the statement section Fixes #29801
2015-11-17Fix up escapes in the referenceSteve Klabnik-4/+11
Fixes #29470
2015-11-13Document block doc comments bettermdinger-3/+2
2015-11-08reference: Remove struct_variant from Compiler FeaturesDaniel Trebbien-7/+0
The struct_variant feature was accepted and is no longer feature gated. See #19122, #19124 §6.1.6 Enumerations shows an example of a struct-like enum variant.
2015-11-05Beef up macro designator docsSteve Klabnik-3/+14
Fixes #28824
2015-10-26reference: clarify implAleksey Kladov-5/+5
Another kind of nominal types in Rust are trait objects, so the following is valid ```rust trait A { } impl A { } ```
2015-10-15Rollup merge of #29058 - tshepang:rename, r=steveklabnikManish Goregaokar-33/+33
Shoud have been part of commit 0b13ee0ced39
2015-10-15Rollup merge of #29022 - apasel422:spell, r=steveklabnikManish Goregaokar-2/+2
r? @steveklabnik
2015-10-15Rollup merge of #28906 - tshepang:link, r=nikomatsakisManish Goregaokar-2/+5
2015-10-15reference: 'struct' is more common that 'structure'Tshepang Lekhonkhobe-33/+33
Shoud have been part of commit 0b13ee0ced39
2015-10-14reference: add link to the symbolsTshepang Lekhonkhobe-2/+5
2015-10-14Rollup merge of #29028 - Seeker14491:patch-1, r=ManishearthManish Goregaokar-5/+5
Having this code section hidden is misleading because it makes it look like implementing Circle for Foo automatically makes Foo implement Shape.
2015-10-13Unhide some code from the Traits sectionSeeker14491-5/+5
Having this code section hidden is misleading because it makes it look like implementing Circle for Foo automatically makes Foo implement Shape.
2015-10-13Correct spelling in docsAndrew Paseltiner-2/+2
2015-10-13Test and gate empty structures and variants betterVadim Petrochenkov-1/+1
2015-10-10doc: fixing typosKyle Robinson Young-1/+1
2015-10-10Auto merge of #28861 - pnkfelix:fsk-nonparam-dropck-issue28498, r=arielb1bors-0/+14
implement RFC 1238: nonparametric dropck. cc #28498 cc @nikomatsakis
2015-10-08Rollup merge of #28905 - tshepang:typo, r=steveklabnikSteve Klabnik-1/+1
2015-10-08Auto merge of #28621 - tshepang:move-safety, r=steveklabnikbors-93/+93
2015-10-08reference: fix typosTshepang Lekhonkhobe-1/+1
2015-10-06Non-parametric dropck; instead trust an unsafe attribute (RFC 1238).Felix S. Klock II-0/+14
Implement cannot-assume-parametricity (CAP) from RFC 1238, and add the UGEH attribute. ---- Note that we check for the attribute attached to the dtor method, not the Drop impl. (This is just to match the specification of RFC and the tests; I am not wedded to this approach.)
2015-10-05docs: anchors fixesSimon Mazur-13/+13
2015-10-02reference: fix markdown formattingAleksey Kladov-0/+3
2015-09-30Rollup merge of #28771 - tshepang:upper-case, r=steveklabnikSteve Klabnik-1/+1
2015-09-30Rollup merge of #28770 - tshepang:awkward, r=steveklabnikSteve Klabnik-2/+2
2015-09-30Improve identifier defintion in the referenceSteve Klabnik-2/+7
Fixes #28706
2015-09-29Auto merge of #27273 - tshepang:claim-not-accurate, r=steveklabnikbors-2/+2
2015-09-28reference: Unsafe section does not fit under FunctionsTshepang Lekhonkhobe-93/+93
2015-09-26Typo fix in use declaration section of referenceDenisKolodin-1/+1
2015-09-26Auto merge of #28612 - gandro:targetvendor, r=alexcrichtonbors-1/+6
This adds a new target property, `target_vendor`. It is to be be used as a matcher for conditional compilation. The vendor is part of the [autoconf target triple](http://llvm.org/docs/doxygen/html/classllvm_1_1Triple.html#details): `<arch><sub>-<vendor>-<os>-<env>`. `arch`, `target_os` and `target_env` are already supported by Rust. This change was suggested in PR #28593. It enables conditional compilation based on the vendor. This is needed for the rumprun target, which needs to match against both, target_os and target_vendor. The default value for `target_vendor` is "unknown", "apple" and "pc" are other common values. Matching against the `target_vendor` is introduced behind the feature gate `#![feature(cfg_target_vendor)]`. This is the first time I messed around with rustc internals. I just added the my code where I found the existing `target_*` variables, hopefully I haven't missed anything. Please review with care. :) r? @alexcrichton
2015-09-24Rollup merge of #28622 - tshepang:known-as-structs, r=steveklabnikSteve Klabnik-8/+8
2015-09-24Rollup merge of #28620 - tshepang:not-filled, r=steveklabnikSteve Klabnik-4/+0