summaryrefslogtreecommitdiffstats
path: root/src/test/ui/generics/wrong-number-of-args.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/generics/wrong-number-of-args.rs')
-rw-r--r--src/test/ui/generics/wrong-number-of-args.rs358
1 files changed, 0 insertions, 358 deletions
diff --git a/src/test/ui/generics/wrong-number-of-args.rs b/src/test/ui/generics/wrong-number-of-args.rs
deleted file mode 100644
index cd2f96a18..000000000
--- a/src/test/ui/generics/wrong-number-of-args.rs
+++ /dev/null
@@ -1,358 +0,0 @@
-mod no_generics {
- struct Ty;
-
- type A = Ty;
-
- type B = Ty<'static>;
- //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument
- //~| HELP remove these generics
-
- type C = Ty<'static, usize>;
- //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument
- //~| ERROR this struct takes 0 generic arguments but 1 generic argument
- //~| HELP remove this lifetime argument
- //~| HELP remove this generic argument
-
- type D = Ty<'static, usize, { 0 }>;
- //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument
- //~| ERROR this struct takes 0 generic arguments but 2 generic arguments
- //~| HELP remove this lifetime argument
- //~| HELP remove these generic arguments
-}
-
-mod type_and_type {
- struct Ty<A, B>;
-
- type A = Ty;
- //~^ ERROR missing generics for struct `type_and_type::Ty`
- //~| HELP add missing
-
- type B = Ty<usize>;
- //~^ ERROR this struct takes 2 generic arguments but 1 generic argument
- //~| HELP add missing
-
- type C = Ty<usize, String>;
-
- type D = Ty<usize, String, char>;
- //~^ ERROR this struct takes 2 generic arguments but 3 generic arguments
- //~| HELP remove this
-
- type E = Ty<>;
- //~^ ERROR this struct takes 2 generic arguments but 0 generic arguments were supplied
- //~| HELP add missing
-}
-
-mod lifetime_and_type {
- struct Ty<'a, T>;
-
- type A = Ty;
- //~^ ERROR missing generics for struct
- //~| ERROR missing lifetime specifier
- //~| HELP add missing
- //~| HELP consider introducing
-
- type B = Ty<'static>;
- //~^ ERROR this struct takes 1 generic argument but 0 generic arguments
- //~| HELP add missing
-
- type C = Ty<usize>;
- //~^ ERROR missing lifetime specifier
- //~| HELP consider introducing
-
- type D = Ty<'static, usize>;
-
- type E = Ty<>;
- //~^ ERROR this struct takes 1 generic argument but 0 generic arguments
- //~| ERROR missing lifetime specifier
- //~| HELP consider introducing
- //~| HELP add missing
-
- type F = Ty<'static, usize, 'static, usize>;
- //~^ ERROR this struct takes 1 lifetime argument but 2 lifetime arguments
- //~| ERROR this struct takes 1 generic argument but 2 generic arguments
- //~| HELP remove this lifetime argument
- //~| HELP remove this generic argument
-}
-
-mod type_and_type_and_type {
- struct Ty<A, B, C = &'static str>;
-
- type A = Ty;
- //~^ ERROR missing generics for struct `type_and_type_and_type::Ty`
- //~| HELP add missing
-
- type B = Ty<usize>;
- //~^ ERROR this struct takes at least 2
- //~| HELP add missing
-
- type C = Ty<usize, String>;
-
- type D = Ty<usize, String, char>;
-
- type E = Ty<usize, String, char, f64>;
- //~^ ERROR this struct takes at most 3
- //~| HELP remove
-
- type F = Ty<>;
- //~^ ERROR this struct takes at least 2 generic arguments but 0 generic arguments
- //~| HELP add missing
-}
-
-// Traits have an implicit `Self` type - these tests ensure we don't accidentally return it
-// somewhere in the message
-mod r#trait {
- trait NonGeneric {
- //
- }
-
- trait GenericLifetime<'a> {
- //
- }
-
- trait GenericType<A> {
- //
- }
-
- type A = Box<dyn NonGeneric<usize>>;
- //~^ ERROR this trait takes 0 generic arguments but 1 generic argument
- //~| HELP remove
-
- type B = Box<dyn GenericLifetime>;
- //~^ ERROR missing lifetime specifier
- //~| HELP consider introducing
- //~| HELP consider making the bound lifetime-generic
-
- type C = Box<dyn GenericLifetime<'static, 'static>>;
- //~^ ERROR this trait takes 1 lifetime argument but 2 lifetime arguments were supplied
- //~| HELP remove
-
- type D = Box<dyn GenericType>;
- //~^ ERROR missing generics for trait `GenericType`
- //~| HELP add missing
-
- type E = Box<dyn GenericType<String, usize>>;
- //~^ ERROR this trait takes 1 generic argument but 2 generic arguments
- //~| HELP remove
-
- type F = Box<dyn GenericLifetime<>>;
- //~^ ERROR missing lifetime specifier
- //~| HELP consider introducing
- //~| HELP consider making the bound lifetime-generic
-
- type G = Box<dyn GenericType<>>;
- //~^ ERROR this trait takes 1 generic argument but 0 generic arguments
- //~| HELP add missing
-}
-
-mod associated_item {
- mod non_generic {
- trait NonGenericAT {
- type AssocTy;
- }
-
- type A = Box<dyn NonGenericAT<usize, AssocTy=()>>;
- //~^ ERROR this trait takes 0 generic arguments but 1 generic argument
- //~| HELP remove
- }
-
- mod lifetime {
- trait GenericLifetimeAT<'a> {
- type AssocTy;
- }
-
- type A = Box<dyn GenericLifetimeAT<AssocTy=()>>;
- //~^ ERROR missing lifetime specifier
- //~| HELP consider introducing
- //~| HELP consider making the bound lifetime-generic
-
- type B = Box<dyn GenericLifetimeAT<'static, 'static, AssocTy=()>>;
- //~^ ERROR this trait takes 1 lifetime argument but 2 lifetime arguments were supplied
- //~| HELP remove
-
- type C = Box<dyn GenericLifetimeAT<(), AssocTy=()>>;
- //~^ ERROR missing lifetime specifier
- //~| HELP consider introducing
- //~| HELP consider making the bound lifetime-generic
- //~| ERROR this trait takes 0 generic arguments but 1 generic argument
- //~| HELP remove
- }
-
- mod r#type {
- trait GenericTypeAT<A> {
- type AssocTy;
- }
-
- type A = Box<dyn GenericTypeAT<AssocTy=()>>;
- //~^ ERROR this trait takes 1 generic argument but 0 generic arguments
- //~| HELP add missing
-
- type B = Box<dyn GenericTypeAT<(), (), AssocTy=()>>;
- //~^ ERROR this trait takes 1 generic argument but 2 generic arguments
- //~| HELP remove
-
- type C = Box<dyn GenericTypeAT<'static, AssocTy=()>>;
- //~^ ERROR this trait takes 1 generic argument but 0 generic arguments
- //~| HELP add missing
- //~| ERROR this trait takes 0 lifetime arguments but 1 lifetime argument was supplied
- //~| HELP remove
- }
-
- mod lifetime_and_type {
- trait GenericLifetimeTypeAT<'a, A> {
- type AssocTy;
- }
-
- type A = Box<dyn GenericLifetimeTypeAT<AssocTy=()>>;
- //~^ ERROR this trait takes 1 generic argument but 0 generic arguments
- //~| HELP add missing
- //~| ERROR missing lifetime specifier
- //~| HELP consider introducing
- //~| HELP consider making the bound lifetime-generic
-
- type B = Box<dyn GenericLifetimeTypeAT<'static, AssocTy=()>>;
- //~^ ERROR this trait takes 1 generic argument but 0 generic arguments were supplied
- //~| HELP add missing
-
- type C = Box<dyn GenericLifetimeTypeAT<'static, 'static, AssocTy=()>>;
- //~^ ERROR this trait takes 1 lifetime argument but 2 lifetime arguments were supplied
- //~| HELP remove
- //~| ERROR this trait takes 1 generic argument but 0 generic arguments
- //~| HELP add missing
-
- type D = Box<dyn GenericLifetimeTypeAT<(), AssocTy=()>>;
- //~^ ERROR missing lifetime specifier
- //~| HELP consider introducing
- //~| HELP consider making the bound lifetime-generic
-
- type E = Box<dyn GenericLifetimeTypeAT<(), (), AssocTy=()>>;
- //~^ ERROR missing lifetime specifier
- //~| HELP consider introducing
- //~| HELP consider making the bound lifetime-generic
- //~| ERROR this trait takes 1 generic argument but 2 generic arguments
- //~| HELP remove
-
- type F = Box<dyn GenericLifetimeTypeAT<'static, 'static, (), AssocTy=()>>;
- //~^ ERROR this trait takes 1 lifetime argument but 2 lifetime arguments were supplied
- //~| HELP remove
-
- type G = Box<dyn GenericLifetimeTypeAT<'static, (), (), AssocTy=()>>;
- //~^ ERROR this trait takes 1 generic argument but 2 generic arguments
- //~| HELP remove
-
- type H = Box<dyn GenericLifetimeTypeAT<'static, 'static, (), (), AssocTy=()>>;
- //~^ ERROR this trait takes 1 lifetime argument but 2 lifetime arguments were supplied
- //~| HELP remove
- //~| ERROR this trait takes 1 generic argument but 2 generic arguments
- //~| HELP remove
- }
-
- mod type_and_type {
- trait GenericTypeTypeAT<A, B> {
- type AssocTy;
- }
-
- type A = Box<dyn GenericTypeTypeAT<AssocTy=()>>;
- //~^ ERROR this trait takes 2 generic arguments but 0 generic arguments
- //~| HELP add missing
-
- type B = Box<dyn GenericTypeTypeAT<(), AssocTy=()>>;
- //~^ ERROR this trait takes 2 generic arguments but 1 generic argument
- //~| HELP add missing
-
- type C = Box<dyn GenericTypeTypeAT<(), (), (), AssocTy=()>>;
- //~^ ERROR this trait takes 2 generic arguments but 3 generic arguments
- //~| HELP remove
- }
-
- mod lifetime_and_lifetime {
- trait GenericLifetimeLifetimeAT<'a, 'b> {
- type AssocTy;
- }
-
- type A = Box<dyn GenericLifetimeLifetimeAT<AssocTy=()>>;
- //~^ ERROR missing lifetime specifier
- //~| HELP consider introducing
- //~| HELP consider making the bound lifetime-generic
-
- type B = Box<dyn GenericLifetimeLifetimeAT<'static, AssocTy=()>>;
- //~^ ERROR this trait takes 2 lifetime arguments but 1 lifetime argument was supplied
- //~| HELP add missing lifetime argument
- }
-
- mod lifetime_and_lifetime_and_type {
- trait GenericLifetimeLifetimeTypeAT<'a, 'b, A> {
- type AssocTy;
- }
-
- type A = Box<dyn GenericLifetimeLifetimeTypeAT<AssocTy=()>>;
- //~^ ERROR missing lifetime specifier
- //~| HELP consider introducing
- //~| HELP consider making the bound lifetime-generic
- //~| ERROR this trait takes 1 generic argument but 0 generic arguments
- //~| HELP add missing
-
- type B = Box<dyn GenericLifetimeLifetimeTypeAT<'static, AssocTy=()>>;
- //~^ ERROR this trait takes 2 lifetime arguments but 1 lifetime argument was supplied
- //~| HELP add missing lifetime argument
- //~| ERROR this trait takes 1 generic argument but 0 generic arguments
- //~| HELP add missing
-
- type C = Box<dyn GenericLifetimeLifetimeTypeAT<'static, (), AssocTy=()>>;
- //~^ ERROR this trait takes 2 lifetime arguments but 1 lifetime argument was supplied
- //~| HELP add missing lifetime argument
- }
-}
-
-mod stdlib {
- mod hash_map {
- use std::collections::HashMap;
-
- type A = HashMap;
- //~^ ERROR missing generics for struct `HashMap`
- //~| HELP add missing
-
- type B = HashMap<String>;
- //~^ ERROR this struct takes at least
- //~| HELP add missing
-
- type C = HashMap<'static>;
- //~^ ERROR this struct takes 0 lifetime arguments but 1 lifetime argument
- //~| HELP remove these generics
- //~| ERROR this struct takes at least 2
- //~| HELP add missing
-
- type D = HashMap<usize, String, char, f64>;
- //~^ ERROR this struct takes at most 3
- //~| HELP remove this
-
- type E = HashMap<>;
- //~^ ERROR this struct takes at least 2 generic arguments but 0 generic arguments
- //~| HELP add missing
- }
-
- mod result {
- type A = Result;
- //~^ ERROR missing generics for enum `Result`
- //~| HELP add missing
-
- type B = Result<String>;
- //~^ ERROR this enum takes 2 generic arguments but 1 generic argument
- //~| HELP add missing
-
- type C = Result<'static>;
- //~^ ERROR this enum takes 0 lifetime arguments but 1 lifetime argument
- //~| HELP remove these generics
- //~| ERROR this enum takes 2 generic arguments but 0 generic arguments
- //~| HELP add missing
-
- type D = Result<usize, String, char>;
- //~^ ERROR this enum takes 2 generic arguments but 3 generic arguments
- //~| HELP remove
-
- type E = Result<>;
- //~^ ERROR this enum takes 2 generic arguments but 0 generic arguments
- //~| HELP add missing
- }
-}
-
-fn main() { }