summary refs log tree commit diff
path: root/src/librustc_resolve
AgeCommit message (Collapse)AuthorLines
2015-04-01rollup merge of #23860: nikomatsakis/copy-requires-cloneAlex Crichton-13/+13
Conflicts: src/test/compile-fail/coherence-impls-copy.rs
2015-04-01Fallout out rustcNiko Matsakis-13/+13
2015-04-01Tidying up and reformattingNick Cameron-53/+41
2015-03-28Rollup merge of #23803 - richo:unused-braces, r=ManishearthManish Goregaokar-2/+2
Pretty much what it says on the tin.
2015-03-28cleanup: Remove unused braces in use statementsRicho Healey-2/+2
2015-03-27Test fixes and rebase conflicts, round 1Alex Crichton-1/+0
2015-03-27rollup merge of #23741: alexcrichton/remove-int-uintAlex Crichton-13/+10
Conflicts: src/librustc/middle/ty.rs src/librustc_trans/trans/adt.rs src/librustc_typeck/check/mod.rs src/libserialize/json.rs src/test/run-pass/spawn-fn.rs
2015-03-27default => or_insert per RFCAlexis Beingessner-6/+2
2015-03-26Mass rename uint/int to usize/isizeAlex Crichton-9/+8
Now that support has been removed, all lingering use cases are renamed.
2015-03-25rustc: Remove support for int/uintAlex Crichton-4/+2
This commit removes all parsing, resolve, and compiler support for the old and long-deprecated int/uint types.
2015-03-20Future-proof indexing on maps: remove IndexMutAaron Turon-2/+2
This commit removes the `IndexMut` impls on `HashMap` and `BTreeMap`, in order to future-proof the API against the eventual inclusion of an `IndexSet` trait. Ideally, we would eventually be able to support: ```rust map[owned_key] = val; map[borrowed_key].mutating_method(arguments); &mut map[borrowed_key]; ``` but to keep the design space as unconstrained as possible, we do not currently want to support `IndexMut`, in case some other strategy will eventually be needed. Code currently using mutating index notation can use `get_mut` instead. [breaking-change] Closes #23448
2015-03-18Fix private module loophole in the 'private type in public item' checkNick Cameron-3/+3
2015-03-16Reviewer changesNick Cameron-1/+1
2015-03-16resolve: factor out resolve imports to its own moduleNick Cameron-1063/+1118
2015-03-16Error if `pub use` references a private item.Nick Cameron-5/+31
[breaking-change] Closes #23266
2015-03-16Misc tidy ups in resolveNick Cameron-63/+56
2015-03-11syntax: move MethMac to MacImplItem and combine {Provided,Required}Method ↵Eduard Burtescu-19/+13
into MethodTraitItem.
2015-03-11syntax: rename TypeMethod to MethodSig and use it in MethDecl.Eduard Burtescu-8/+8
2015-03-11syntax: gather common fields of impl & trait items into their respective types.Eduard Burtescu-57/+32
2015-03-11syntax: move indirection around {Trait,Impl}Item, from within.Eduard Burtescu-15/+20
2015-03-06Rollup merge of #23056 - awlnx:master, r=nrcManish Goregaokar-0/+2
2015-03-05fix for new attributes failing. issue #22964awlnx-0/+2
2015-03-03Change span_help calls to fileline_help where appropriateIvan Radanov Ivanov-11/+18
2015-02-26remove some compiler warningsTshepang Lekhonkhobe-1/+1
2015-02-24Fix fallout from rebasing.Eduard Burtescu-5/+5
2015-02-24Implement `<T>::method` UFCS expression syntax.Eduard Burtescu-17/+29
2015-02-24rustc: combine partial_def_map and last_private_map into def_map.Eduard Burtescu-221/+219
2015-02-24rustc_resolve: don't handle impl items as if they were modules.Eduard Burtescu-273/+24
2015-02-24Use partial path resolutions in expressions for UFCS desugaring.Eduard Burtescu-4/+34
2015-02-24rustc_resolve: remove the distinction between DefStaticMethod and DefMethod.Eduard Burtescu-78/+56
2015-02-24rustc: use partially resolved definitions to replace the `T::A` hack.Eduard Burtescu-83/+69
2015-02-24rustc_resolve: use the visitor model more, remove redundant repeated lookups.Eduard Burtescu-628/+263
2015-02-24syntax: use a single Path for Trait::Item in QPath.Eduard Burtescu-84/+74
2015-02-24rustc_resolve: use DefAssociatedTy for TyQPath.Eduard Burtescu-13/+22
2015-02-24rustc: load DefAssociatedTy from cross-crate metadata. Fixes #20542.Eduard Burtescu-4/+4
2015-02-24syntax: don't use TraitRef in QPath.Eduard Burtescu-43/+31
2015-02-24syntax: don't store a secondary NodeId for TyPath.Eduard Burtescu-8/+8
2015-02-24Revert bogus rename from DefTrait to DefaultImpl.Eduard Burtescu-6/+6
2015-02-24Auto merge of #21689 - FlaPer87:oibit-send-and-friends, r=nikomatsakisbors-8/+12
This is one more step towards completing #13231 This series of commits add support for default trait implementations. The changes in this PR don't break existing code and they are expected to preserve the existing behavior in the compiler as far as built-in bounds checks go. The PR adds negative implementations of `Send`/`Sync` for some types and it removes the special cases for `Send`/`Sync` during the trait obligations checks. That is, it now fully relies on the traits check rather than lang items. Once this patch lands and a new snapshot is created, it'll be possible to add default impls for `Send` and `Sync` and remove entirely the use of `BuiltinBound::{BoundSend,BoundSync}` for positive implementations as well. This PR also removes the restriction on negative implementations. That is, it is now possible to add negative implementations for traits other than `Send`/`Sync`
2015-02-22Make Send/Sync go through the default implementation pathFlavio Percoco-1/+1
2015-02-22Rename DefTrait to DefaultImplFlavio Percoco-9/+9
2015-02-22Fix fallout from libsyntax implementationFlavio Percoco-2/+6
2015-02-20Remove remaining uses of `[]`. This time I tried to use deref coercions ↵Niko Matsakis-30/+30
where possible.
2015-02-18rollup merge of #22502: nikomatsakis/deprecate-bracket-bracketAlex Crichton-27/+27
Conflicts: src/libcollections/slice.rs src/libcollections/str.rs src/librustc/middle/lang_items.rs src/librustc_back/rpath.rs src/librustc_typeck/check/regionck.rs src/libstd/ffi/os_str.rs src/libsyntax/diagnostic.rs src/libsyntax/parse/parser.rs src/libsyntax/util/interner.rs src/test/run-pass/regions-refcell.rs
2015-02-18Replace all uses of `&foo[]` with `&foo[..]` en masse.Niko Matsakis-27/+27
2015-02-18rollup merge of #22480: alexcrichton/hashv3Alex Crichton-1/+0
This commit is an implementation of [RFC 823][rfc] which is another pass over the `std::hash` module for stabilization. The contents of the module were not entirely marked stable, but some portions which remained quite similar to the previous incarnation are now marked `#[stable]`. Specifically: [rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0823-hash-simplification.md * `std::hash` is now stable (the name) * `Hash` is now stable * `Hash::hash` is now stable * `Hasher` is now stable * `SipHasher` is now stable * `SipHasher::new` and `new_with_keys` are now stable * `Hasher for SipHasher` is now stable * Many `Hash` implementations are now stable All other portions of the `hash` module remain `#[unstable]` as they are less commonly used and were recently redesigned. This commit is a breaking change due to the modifications to the `std::hash` API and more details can be found on the [RFC][rfc]. Closes #22467 [breaking-change]
2015-02-18std: Stabilize the `hash` moduleAlex Crichton-1/+0
This commit is an implementation of [RFC 823][rfc] which is another pass over the `std::hash` module for stabilization. The contents of the module were not entirely marked stable, but some portions which remained quite similar to the previous incarnation are now marked `#[stable]`. Specifically: [rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0823-hash-simplification.md * `std::hash` is now stable (the name) * `Hash` is now stable * `Hash::hash` is now stable * `Hasher` is now stable * `SipHasher` is now stable * `SipHasher::new` and `new_with_keys` are now stable * `Hasher for SipHasher` is now stable * Many `Hash` implementations are now stable All other portions of the `hash` module remain `#[unstable]` as they are less commonly used and were recently redesigned. This commit is a breaking change due to the modifications to the `std::hash` API and more details can be found on the [RFC][rfc]. Closes #22467 [breaking-change]
2015-02-18Opt for .cloned() over .map(|x| x.clone()) etc.Kevin Butler-9/+6
2015-02-15Fix rollup (remove slicing_syntax)Manish Goregaokar-1/+0
2015-02-13Auto merge of #22093 - petrochenkov:builtin, r=pnkfelixbors-2/+31
Names of structs, enums, traits, type aliases and type parameters (i.e. all identifiers that can be used as full paths in type position) are not allowed to match the names of primitive types. See #20427 for more information. This is a minor [breaking-change]