summary refs log tree commit diff
path: root/src/librustc/plugin/load.rs
AgeCommit message (Collapse)AuthorLines
2015-01-08librustc_driver: Add support for loading plugins via command line (fixes #15446)Manish Goregaokar-19/+18
2015-01-08librustc::plugin : make PluginLoader usable for loading argument-specified ↵Manish Goregaokar-17/+39
plugins
2015-01-08librustc::metadata : Allow passing a string to read_plugin_metadataManish Goregaokar-2/+2
2015-01-07use slicing sugarJorge Aparicio-3/+3
2015-01-07Replace full slice notation with index callsNick Cameron-3/+3
2015-01-05Forbid '#[macro_use] extern crate' outside the crate rootKeegan McAllister-0/+16
2015-01-05Pass the #[plugin(...)] meta item to the registrarKeegan McAllister-7/+25
2015-01-05Allow selective macro importKeegan McAllister-5/+28
2015-01-05Move #[macro_reexport] to extern crateKeegan McAllister-1/+27
2015-01-05Replace #[phase] with #[plugin] / #[macro_use] / #[no_link]Keegan McAllister-12/+22
2015-01-05creader: Load parts of plugin metadata on demandKeegan McAllister-32/+27
2015-01-05Reformat metadata for exported macrosKeegan McAllister-20/+13
Instead of copy-pasting the whole macro_rules! item from the original .rs file, we serialize a separate name, attributes list, and body, the latter as pretty-printed TTs. The compilation of macro_rules! macros is decoupled somewhat from the expansion of macros in item position. This filters out comments, and facilitates selective imports.
2015-01-05creader: Use a single structKeegan McAllister-3/+3
2014-12-21Fallout of std::str stabilizationAlex Crichton-3/+3
2014-11-19Make os::getcwd() return IoResult<Path>Barosl Lee-1/+1
os::getcwd() panics if the current directory is not available. According to getcwd(3), there are three cases: - EACCES: Permission denied. - ENOENT: The current working directory has been removed. - ERANGE: The buffer size is less than the actual absolute path. This commit makes os::getcwd() return IoResult<Path>, not just Path, preventing it from panicking. As os::make_absolute() depends on os::getcwd(), it is also modified to return IoResult<Path>. Fixes #16946. [breaking-change]
2014-11-18Move trans, back, driver, and back into a new crate, rustc_trans. Reduces ↵Niko Matsakis-1/+1
memory usage significantly and opens opportunities for more parallel compilation.
2014-10-19Remove a large amount of deprecated functionalityAlex Crichton-2/+2
Spring cleaning is here! In the Fall! This commit removes quite a large amount of deprecated functionality from the standard libraries. I tried to ensure that only old deprecated functionality was removed. This is removing lots and lots of deprecated features, so this is a breaking change. Please consult the deprecation messages of the deleted code to see how to migrate code forward if it still needs migration. [breaking-change]
2014-09-12Track the visited AST's lifetime throughout Visitor.Eduard Burtescu-1/+1
2014-09-12Remove largely unused context from Visitor.Eduard Burtescu-4/+4
2014-07-21rustc: Pass optional additional plugins to compile_inputBrian Anderson-2/+16
This provides a way for clients of the rustc library to add their own features to the pipeline.
2014-07-11make walk/visit_mac opt-in onlyJohn Clements-0/+5
macros can expand into arbitrary items, exprs, etc. This means that using a default walker or folder on an AST before macro expansion is complete will miss things (the things that the macros expand into). As a partial fence against this, this commit moves the default traversal of macros into a separate procedure, and makes the default trait implementation signal an error. This means that Folders and Visitors can traverse macros if they want to, but they need to explicitly add an impl that calls the walk_mac or fold_mac procedure This should prevent problems down the road.
2014-06-28Rename all raw pointers as necessaryAlex Crichton-1/+1
2014-06-13librustc: Forbid `transmute` from being called on types whose size isPatrick Walton-2/+4
only known post-monomorphization, and report `transmute` errors before the code is generated for that `transmute`. This can break code that looked like: unsafe fn f<T>(x: T) { let y: int = transmute(x); } Change such code to take a type parameter that has the same size as the type being transmuted to. Closes #12898. [breaking-change]
2014-06-09std: Move dynamic_lib from std::unstable to stdBrian Anderson-1/+1
This leaves a deprecated reexport in place temporarily. Closes #1457.
2014-06-09Document rustc::pluginKeegan McAllister-1/+15
2014-06-09Implement #[plugin_registrar]Keegan McAllister-0/+131
See RFC 22. [breaking-change]