From e85787102fa6a7b27e1df845c07084f6a7d77fe3 Mon Sep 17 00:00:00 2001 From: Jared Roesch Date: Sun, 12 Jul 2015 21:02:16 -0700 Subject: [PATCH] Clean up test cases --- src/librustc_typeck/check/mod.rs | 6 +++- ...param_default_dependent_associated_type.rs | 33 +++++++++++++++++++ .../default_ty_param_dependent_defaults.rs | 18 ++++++++++ ...default_ty_param_struct_and_type_alias.rs} | 14 ++++++-- ...meter_default_dependent_associated_type.rs | 23 ------------- ...fault_type_parameter_dependent_defaults.rs | 7 ---- 6 files changed, 67 insertions(+), 34 deletions(-) create mode 100644 src/test/run-pass/default_ty_param_default_dependent_associated_type.rs create mode 100644 src/test/run-pass/default_ty_param_dependent_defaults.rs rename src/test/run-pass/{default_type_parameter_struct_and_type_alias.rs => default_ty_param_struct_and_type_alias.rs} (53%) delete mode 100644 src/test/run-pass/default_type_parameter_default_dependent_associated_type.rs delete mode 100644 src/test/run-pass/default_type_parameter_dependent_defaults.rs diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs index 3a93c7ed916..d93848f408c 100644 --- a/src/librustc_typeck/check/mod.rs +++ b/src/librustc_typeck/check/mod.rs @@ -1141,7 +1141,11 @@ fn trait_defines_associated_type_named(&self, fn ty_infer(&self, ty_param_def: Option>, span: Span) -> Ty<'tcx> { let default = ty_param_def.and_then(|t| - t.default.map(|ty| type_variable::Default { ty: ty, origin_span: span, definition_span: span })); + t.default.map(|ty| type_variable::Default { + ty: ty, + origin_span: span, + definition_span: span + })); self.infcx().next_ty_var_with_default(default) } diff --git a/src/test/run-pass/default_ty_param_default_dependent_associated_type.rs b/src/test/run-pass/default_ty_param_default_dependent_associated_type.rs new file mode 100644 index 00000000000..fe8c1063c96 --- /dev/null +++ b/src/test/run-pass/default_ty_param_default_dependent_associated_type.rs @@ -0,0 +1,33 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. +// +use std::marker::PhantomData; + +trait Id { + type This; +} + +impl Id for A { + type This = A; +} + +struct Foo::This> { + data: PhantomData<(X, Y)> +} + +impl Foo { + fn new() -> Foo { + Foo { data: PhantomData } + } +} + +fn main() { + let foo = Foo::new(); +} diff --git a/src/test/run-pass/default_ty_param_dependent_defaults.rs b/src/test/run-pass/default_ty_param_dependent_defaults.rs new file mode 100644 index 00000000000..9322c9ad165 --- /dev/null +++ b/src/test/run-pass/default_ty_param_dependent_defaults.rs @@ -0,0 +1,18 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. +// + +use std::marker::PhantomData; + +struct Foo { data: PhantomData<(T, U)> } + +fn main() { + let foo = Foo { data: PhantomData }; +} diff --git a/src/test/run-pass/default_type_parameter_struct_and_type_alias.rs b/src/test/run-pass/default_ty_param_struct_and_type_alias.rs similarity index 53% rename from src/test/run-pass/default_type_parameter_struct_and_type_alias.rs rename to src/test/run-pass/default_ty_param_struct_and_type_alias.rs index d42e65d90fe..0a8543c03b1 100644 --- a/src/test/run-pass/default_type_parameter_struct_and_type_alias.rs +++ b/src/test/run-pass/default_ty_param_struct_and_type_alias.rs @@ -1,7 +1,15 @@ -use std::marker::PhantomData; +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. +// -trait TypeEq {} -impl TypeEq for A {} +use std::marker::PhantomData; struct DeterministicHasher; struct RandomHasher; diff --git a/src/test/run-pass/default_type_parameter_default_dependent_associated_type.rs b/src/test/run-pass/default_type_parameter_default_dependent_associated_type.rs deleted file mode 100644 index 402399f14b9..00000000000 --- a/src/test/run-pass/default_type_parameter_default_dependent_associated_type.rs +++ /dev/null @@ -1,23 +0,0 @@ -use std::marker::PhantomData; - -trait Id { - type This; -} - -impl Id for A { - type This = A; -} - -struct Foo::This> { - data: PhantomData<(X, Y)> -} - -impl Foo { - fn new() -> Foo { - Foo { data: PhantomData } - } -} - -fn main() { - let foo = Foo::new(); -} diff --git a/src/test/run-pass/default_type_parameter_dependent_defaults.rs b/src/test/run-pass/default_type_parameter_dependent_defaults.rs deleted file mode 100644 index 4f492bed9d4..00000000000 --- a/src/test/run-pass/default_type_parameter_dependent_defaults.rs +++ /dev/null @@ -1,7 +0,0 @@ -use std::marker::PhantomData; - -struct Foo { data: PhantomData<(T, U)> } - -fn main() { - let foo = Foo { data: PhantomData }; -} -- 2.44.0