rust/src/libsyntax
Michael Hewson 497397ab4b initial implementation of arbitrary_self_types
If the feature is enabled, allow method `self` types to be any type
that auto-derefs to `self`.
- Currently, this supports inherent methods as well as trait methods.
The plan AFAIK is to only allow this for trait methods, so I guess it
won’t stay this way
- Dynamic dispatch isn’t implemented yet, so the compiler will ICE if
you define a trait method that takes `self: Rc<Self>` and try to call
it on an `Rc<Trait>`. I will probably just make those methods
non-object-safe initially.
2017-11-07 13:36:10 -05:00
..
diagnostics Make the difference between lint codes and error codes explicit 2017-11-02 10:19:41 +01:00
ext Lifting Generics from MethodSig to TraitItem and ImplItem since we want to support generics in each variant of TraitItem and ImplItem 2017-10-17 22:14:14 -04:00
parse Auto merge of #45711 - tirr-c:unicode-span, r=estebank 2017-11-04 23:09:19 +00:00
print Fix unsafe auto trait pretty print. 2017-11-03 16:13:23 -02:00
util Add support for ..= syntax 2017-09-22 22:05:18 +02:00
abi.rs add thiscall calling convention support 2017-05-24 16:40:03 -04:00
ast.rs add auto keyword, parse auto trait, lower to HIR 2017-11-03 16:13:20 -02:00
attr.rs Fix ICE 2017-09-20 20:48:06 +02:00
build.rs rustc: Add some build scripts for librustc crates 2017-07-22 22:04:13 -07:00
Cargo.toml Remove rustc_bitflags; use the bitflags crate 2017-09-17 14:19:24 -04:00
codemap.rs Display spans correctly when there are non-half-width characters 2017-11-03 03:15:39 +09:00
config.rs Make fields of Span private 2017-08-30 01:38:54 +03:00
diagnostic_list.rs Add support for ..= syntax 2017-09-22 22:05:18 +02:00
entry.rs Cleanup InternedString. 2016-11-21 09:00:56 +00:00
feature_gate.rs initial implementation of arbitrary_self_types 2017-11-07 13:36:10 -05:00
fold.rs add auto keyword, parse auto trait, lower to HIR 2017-11-03 16:13:20 -02:00
json.rs Pretty print json in ui tests 2017-11-03 13:38:26 +01:00
lib.rs Remove rustc_bitflags; use the bitflags crate 2017-09-17 14:19:24 -04:00
ptr.rs Replace some matches with try. 2017-06-07 12:15:39 +09:00
README.md rework the README.md for rustc and add other readmes 2017-09-19 09:00:59 -04:00
show_span.rs use field init shorthand EVERYWHERE 2017-08-15 15:29:17 -07:00
std_inject.rs Make fields of Span private 2017-08-30 01:38:54 +03:00
str.rs syntax: Copy unstable str::char_at into libsyntax 2015-04-21 10:23:53 -07:00
test.rs Make fields of Span private 2017-08-30 01:38:54 +03:00
test_snippet.rs Add short message-format 2017-10-20 16:04:32 +02:00
tokenstream.rs Make fields of Span private 2017-08-30 01:38:54 +03:00
visit.rs add auto keyword, parse auto trait, lower to HIR 2017-11-03 16:13:20 -02:00

NB: This crate is part of the Rust compiler. For an overview of the compiler as a whole, see the README.md file found in librustc.

The syntax crate contains those things concerned purely with syntax that is, the AST ("abstract syntax tree"), parser, pretty-printer, lexer, macro expander, and utilities for traversing ASTs.