summary refs log tree commit diff
path: root/src/etc
AgeCommit message (Collapse)AuthorLines
2014-06-27Update to 0.11.0 0.11.0Alex Crichton-1/+1
2014-06-24auto merge of #14952 : alexcrichton/rust/const-unsafe-pointers, r=brsonbors-2/+1
This does not yet change the compiler and libraries from `*T` to `*const T` as it will require a snapshot to do so. cc #7362 --- Note that the corresponding RFC, https://github.com/rust-lang/rfcs/pull/68, has not yet been accepted. It was [discussed at the last meeting](https://github.com/rust-lang/rust/wiki/Meeting-weekly-2014-06-10#rfc-pr-68-unsafe-pointers-rename-t-to-const-t) and decided to be accepted, however. I figured I'd get started on the preliminary work for the RFC that will be required regardless.
2014-06-23auto merge of #15100 : rapha/rust/master, r=alexcrichtonbors-1/+1
/usr/bin/env appears to be more portable.
2014-06-23Change /bin/env to /usr/bin/env in helper python script, as it is more portableRaphael Speyer-1/+1
2014-06-22Update few files after comparison traits renamingPiotr Jawniak-4/+4
There were still Total{Ord,Eq} in docs and src/etc
2014-06-18Deprecate the bytes!() macro.Simon Sapin-0/+138
Replace its usage with byte string literals, except in `bytes!()` tests. Also add a new snapshot, to be able to use the new b"foo" syntax. The src/etc/2014-06-rewrite-bytes-macros.py script automatically rewrites `bytes!()` invocations into byte string literals. Pass it filenames as arguments to generate a diff that you can inspect, or `--apply` followed by filenames to apply the changes in place. Diffs can be piped into `tip` or `pygmentize -l diff` for coloring.
2014-06-18Vim: highlight invalid characters in char literals.Chris Morgan-2/+7
2014-06-18Vim: highlight escapes for byte literals.Chris Morgan-7/+11
2014-06-18Add commands :RustEmitIr and :RustEmitAsmKevin Ballard-0/+62
2014-06-18Write documentation for the Rust vim pluginKevin Ballard-25/+131
2014-06-18Rename :Run and :Expand to :RustRun and :RustExpandKevin Ballard-17/+17
2014-06-18vim: Add :Run and :Expand commandsKevin Ballard-37/+265
Define a command :Run to compile and run the current file. This supports unnamed buffers (by writing to a temporary file). See the comment above the command definition for notes on usage. Define <D-r> and <D-R> mappings for :Run to make it easier to invoke in MacVim. Define a command :Expand to display the --pretty expanded output for the current file. This can be configured to use different pretty types. See the comment above the command definition for notes on usage. Create an autoload file and put function definitions there to speed up load time.
2014-06-17emacs: Remove outdated references to ~ in testsTom Jakubowski-3/+3
2014-06-17emacs: Add shebang to test scriptTom Jakubowski-0/+1
2014-06-17emacs: Don't overwrite font lock for attributesTom Jakubowski-27/+87
This addresses the font lock regression introduced by the earlier pull request #14818 - attributes are no longer be highligted inside of comments and strings. Also add some font lock test infrastructure and some tests for attribute font locking.
2014-06-17auto merge of #14818 : tomjakubowski/rust/emacs-attributes-key-value, r=pnkfelixbors-3/+3
This addresses two problems noted in #14347: the highlight of `#foo]` as an attribute, and the non-highlight of `#[foo = "bar"]`.
2014-06-17auto merge of #14955 : alexcrichton/rust/rollup, r=alexcrichtonbors-2/+59
2014-06-16Update repo locationBrian Anderson-2/+2
2014-06-16Add a Syntastic plugin for Rust.Andrew Gallant-0/+57
2014-06-17auto merge of #14855 : TeXitoi/rust/relicense-shootout-binarytrees, r=brsonbors-0/+1
Everyone agreed. Related to #14248, close #14720 @brson OK?
2014-06-16rustc: Start accepting `*const T`Alex Crichton-2/+1
This does not yet change the compiler and libraries from `*T` to `*const T` as it will require a snapshot to do so. cc #7362
2014-06-16auto merge of #14852 : TeXitoi/rust/relicense-shootout-pidigits, r=brsonbors-0/+1
Everyone agreed. Related to #14248, close #14718 @brson OK?
2014-06-12Relicense shootout-binarytrees.rsGuillaume Pinot-0/+1
Everyone agreed. Related to #14248, close #14720
2014-06-12Relicense shootout-pidigits.rsGuillaume Pinot-0/+1
Everyone agreed. Related to #14248, close #14718
2014-06-11sync: Move underneath libstdAlex Crichton-3/+3
This commit is the final step in the libstd facade, #13851. The purpose of this commit is to move libsync underneath the standard library, behind the facade. This will allow core primitives like channels, queues, and atomics to all live in the same location. There were a few notable changes and a few breaking changes as part of this movement: * The `Vec` and `String` types are reexported at the top level of libcollections * The `unreachable!()` macro was copied to libcore * The `std::rt::thread` module was moved to librustrt, but it is still reexported at the same location. * The `std::comm` module was moved to libsync * The `sync::comm` module was moved under `sync::comm`, and renamed to `duplex`. It is now a private module with types/functions being reexported under `sync::comm`. This is a breaking change for any existing users of duplex streams. * All concurrent queues/deques were moved directly under libsync. They are also all marked with #![experimental] for now if they are public. * The `task_pool` and `future` modules no longer live in libsync, but rather live under `std::sync`. They will forever live at this location, but they may move to libsync if the `std::task` module moves as well. [breaking-change]
2014-06-11emacs: highlight `#[foo = "bar"]` attributesTom Jakubowski-2/+2
Setting `OVERRIDE` to `t` overrides the conflicting highlight Emacs places on string literals. Fix #14347
2014-06-11emacs: do not highlight `#foo]` as an attributeTom Jakubowski-1/+1
part of #14347
2014-06-08relicense shootout-fannkuch-redux.rsGuillaume Pinot-0/+1
Part of #14248 Main contributors are @pcwalton, @alexcrichton and me. Only @dguenther appear in git blame as a minor contribution, but it is only adding the rust license, so removed by this relicensing.
2014-06-07relicense shootout-regex-dna.rsGuillaume Pinot-0/+1
Part of #14248 The authors are @pcwalton and @BurntSushi, and we have their agreement.
2014-06-05relicense shootout-meteor.rsGuillaume Pinot-0/+1
part of #14248, fix #14420 Removed @richo's contribution (outdated comment) Quoting @brson: let's move forward with this one. The only statement I'm missing is @richo's and it sounds like his was a minor patch.
2014-05-30std: Rename {Eq,Ord} to Partial{Eq,Ord}Alex Crichton-3/+5
This is part of the ongoing renaming of the equality traits. See #12517 for more details. All code using Eq/Ord will temporarily need to move to Partial{Eq,Ord} or the Total{Eq,Ord} traits. The Total traits will soon be renamed to {Eq,Ord}. cc #12517 [breaking-change]
2014-05-24core: rename strbuf::StrBuf to string::StringRicho Healey-3/+3
[breaking-change]
2014-05-20vim: Handle box expressions speciallyKevin Ballard-7/+20
Attempt to highlight the placement expression in a `box (expr) foo` expression. Also treat GC as a keyword within the placement expression. This doesn't work correctly for arbitrary expressions. Notably, this makes no attempt at balancing delimiters. I believe handling that will require rewriting the syntax rules to add a region for every pair of delimiters. That may be a desirable thing to do in the end, because we can then rewrite our indent rules based on the syntax and get rid of cindent(), but for the time being, we'll just live with the limitation.
2014-05-20Update rust.vim for the latest prelude/keywordsKevin Ballard-18/+23
2014-05-18Refactoring: Introduce distinct host and target rpath var setters.Felix S. Klock II-7/+8
Two line summary: Distinguish HOST_RPATH and TARGET_RPATH; added RPATH_LINK_SEARCH; skip tests broken in stage1; general cleanup. `HOST_RPATH_VAR$(1)_T_$(2)_H_$(3)` and `TARGET_RPATH_VAR$(1)_T_$(2)_H_$(3)` both match the format of the old `RPATH_VAR$(1)_T_$(2)_H_$(3)` (which is still being set the same way that it was before, to one of either HOST/TARGET depending on what stage we are building). Namely, the format is <XXX>_RPATH_VAR = "<LD_LIB_PATH_ENVVAR>=<COLON_SEP_PATH_ENTRIES>" What this commit does: * Pass both of the (newly introduced) HOST and TARGET rpath setup vars to `maketest.py` * Update `maketest.py` to no longer update the LD_LIBRARY_PATH itself Instead, it passes along the HOST and TARGET rpath setup vars in environment variables `HOST_RPATH_ENV` and `TARGET_RPATH_ENV` * Also, pass the current stage number to maketest.py; it in turn passes it (via an env var) to run-make tests. This allows the run-make tests to selectively change behavior (e.g. turn themselves off) to deal with incompatibilities with e.g. stage1. * Cleanup: Distinguish in tools.mk between the command to run (`RUN`) and the file to generate to drive that command (`RUN_BINFILE`). The main thing this enables is that `RUN` can now setup the `TARGET_RPATH_ENV` without having to dirty up the runner code in each of the `run-make` Makefiles. * Cleanup: Factored out commands to delete dylib/rlib into REMOVE_DYLIBS/REMOVE_RLIBS. There were places where we were only calling `rm $(call DYLIB,foo)` even though we really needed to get rid of the whole glob (at least based on alex's findings on #13753 that removing the symlink does not suffice). Therefore rather than peppering the code with the awkward `rm $(TMPDIR)/$(call DYLIB_GLOB,foo)`, I instead introduced a common `REMOVE_DYLIBS` user function that expands into that when called. After I adding an analogous `REMOVE_RLIBS`, I changed all of the existing calls that rm dylibs or rlibs to use these routines instead. Note that the latter is not a true refactoring since I may have changed cases where it was our intent to only remove the sym-link. (But if that is the case, then we need to more deeply investigate alex's findings on #13753 where the system was still dynamically loading up the non-symlinked libraries that it finds on the load path.) * Added RPATH_LINK_SEARCH command and use it on Linux. On some platforms, namely Linux, when you have libboot.so that has its internal rpath set (to e.g. $(ORIGIN)/path/to/HOSTDIR), the linker still complains when you do the link step and it does not know where to find libraries that libboot.so depends upon that live in HOSTDIR (think e.g. librustuv.so). As far as I can tell, the GNU linker will consult the LD_LIBRARY_PATH as part of the linking process to find such libraries. But if you want to be more careful and not override LD_LIBRARY_PATH for the `gcc` invocation, then you need some other way to tell the linker where it can find the libraries that libboot.so needs. The solution to this on Linux is the `-Wl,-rpath-link` command line option. However, this command line option does not exist on Mac OS X, (which appears to be figuring out how to resolve the libboot.dylib dependency by some other means, perhaps by consulting the rpath setting within libboot.dylib). So, in order to abstract over this distinction, I added the RPATH_LINK_SEARCH macro to the run-make infrastructure and added calls to it where necessary to get Linux working. On architectures other than Linux, the macro expands to nothing. * Disable miscellaneous tests atop stage1. * An especially interesting instance of the previous bullet point: Excuse regex from doing rustdoc tests atop stage1. This was a (nearly-) final step to get `make check-stage1` working again. The use of a special-case check for regex here is ugly but is analogous other similar checks for regex such as the one that landed in PR #13844. The way this is written, the user will get a reminder that doc-crate-regex is being skipped whenever their rules attempt to do the crate documentation tests. This is deliberate: I want people running `make check-stage1` to be reminded about which cases are being skipped. (But if such echo noise is considered offensive, it can obviously be removed.) * Got windows working with the above changes. This portion of the commit is a cleanup revision of the (previously mentioned on try builds) re-architecting of how the LD_LIBRARY_PATH setup and extension is handled in order to accommodate Windows' (1.) use of `$PATH` for that purpose and (2.) use of spaces in `$PATH` entries (problematic for make and for interoperation with tools at the shell). * In addition, since the code has been rearchitected to pass the HOST_RPATH_DIR/TARGET_RPATH_DIR rather than a whole sh environment-variable setting command, there is no need to for the convert_path_spec calls in maketest.py, which in fact were put in place to placate Windows but were now causing the Windows builds to fail. Instead we just convert the paths to absolute paths just like all of the other path arguments. Also, note for makefile hackers: apparently you cannot quote operands to `ifeq` in Makefile (or at least, you need to be careful about adding them, e.g. to only one side).
2014-05-14Get rid of the android-cross-path flag to rustc.Luqman Aden-1/+0
There's no need to include this specific flag just for android. We can already deal with what it tries to solve by using -C linker=/path/to/cc and -C ar=/path/to/ar. The Makefiles for rustc already set this up when we're crosscompiling. I did add the flag to compiletest though so it can find gdb. Though, I'm pretty sure we don't run debuginfo tests on android anyways right now. [breaking-change]
2014-05-13std: Rename str::Normalizations to str::DecompositionsFlorian Zeitz-6/+6
The Normalizations iterator has been renamed to Decompositions. It does not currently include all forms of Unicode normalization, but only encompasses decompositions. If implemented recomposition would likely be a separate iterator which works on the result of this one. [breaking-change]
2014-05-13core: Move Hangul decomposition into unicode.rsFlorian Zeitz-19/+58
2014-05-13std, core: Generate unicode.rs using unicode.pyFlorian Zeitz-55/+76
2014-05-12emacs: highlight `macro_name!` in macro invocations using [] delimitersHuon Wilson-1/+1
2014-05-12add shebang to scripts that have execute bit setDavid Creswick-3/+13
2014-05-12Add the patch number to version strings. Closes #13289Brian Anderson-1/+1
2014-05-12auto merge of #13922 : Rufflewind/rust/patch-1, r=pnkfelixbors-5/+5
Since rust-top-item-beg-re hasn't been defined yet, using defvar instead of setq is more appropriate here (and also silences compilation warnings).
2014-05-08vim: Fix an indentation issue with cindentKevin Ballard-11/+16
cindent handles the following case incorrectly: impl X { b: int, // c: int, } if you try and insert a new line after the `c` declaration. To fix this, fix the get_line_trimmed() function to work properly, and then extend GetRustIndent to keep searching backwards until it finds a non-blank line after trimming. This lets it handle the trailing comma case properly, as if the comment were never there. Fixes #14041.
2014-05-08auto merge of #13986 : alexcrichton/rust/box-keyword, r=thestingerbors-1/+3
This keyword is about to be used much more often than it was a few weeks ago, it's time to tell editors about the new keyword.
2014-05-07debuginfo: Split debuginfo autotests into debuginfo-gdb and debuginfo-lldbMichael Woerister-0/+184
2014-05-06etc: Add box as a keyword to editor configsAlex Crichton-1/+3
This keyword is about to be used much more often than it was a few weeks ago, it's time to tell editors about the new keyword.
2014-05-05auto merge of #13925 : kballard/rust/vim_indent_bracket_fix, r=thestingerbors-3/+19
If an unbalanced [ exists in a string or comment, this should not be considered when calculating the indent at the top level. Similarly, when testing for ({/}) to see if we're at the top level to begin with, strings and comments should be skipped.
2014-05-04vim: Fix indentation at global scope after non-semantic ([{/)]}Kevin Ballard-3/+19
If an unbalanced [ exists in a string or comment, this should not be considered when calculating the indent at the top level. Similarly, when testing for ({/}) to see if we're at the top level to begin with, strings and comments should be skipped.
2014-05-03Recommend autoload instead of requirePhil Ruffwind-3/+4
Lazy loading with autoload will result in faster startup time for Emacs users and is generally the recommended approach for major modes.