From d0da4bf926f1dc43b3e5202b689238aa85f18a8f Mon Sep 17 00:00:00 2001 From: Richard Feldman Date: Sat, 25 Apr 2020 07:03:16 -0400 Subject: [PATCH] Remove obsolete hardcoded List.get types --- compiler/builtins/src/std.rs | 17 ++--------------- compiler/builtins/src/unique.rs | 15 +-------------- 2 files changed, 3 insertions(+), 29 deletions(-) diff --git a/compiler/builtins/src/std.rs b/compiler/builtins/src/std.rs index 881ac0eea2..70f120044f 100644 --- a/compiler/builtins/src/std.rs +++ b/compiler/builtins/src/std.rs @@ -371,22 +371,9 @@ pub fn types() -> MutMap { // List module - // get : List elem, Int -> Result elem [ OutOfBounds ]* - let index_out_of_bounds = SolvedType::TagUnion( - vec![(TagName::Global("OutOfBounds".into()), vec![])], - Box::new(SolvedType::Wildcard), - ); - + // #getUnsafe : List elem, Int -> elem add_type( - Symbol::LIST_GET, - SolvedType::Func( - vec![list_type(flex(TVAR1)), int_type()], - Box::new(result_type(flex(TVAR1), index_out_of_bounds)), - ), - ); - - add_type( - Symbol::LIST_GET_UNSAFE, // TODO remove this once we can code gen Result + Symbol::LIST_GET_UNSAFE, SolvedType::Func( vec![list_type(flex(TVAR1)), int_type()], Box::new(flex(TVAR1)), diff --git a/compiler/builtins/src/unique.rs b/compiler/builtins/src/unique.rs index 0a0671b0cf..dafddf41f5 100644 --- a/compiler/builtins/src/unique.rs +++ b/compiler/builtins/src/unique.rs @@ -450,20 +450,7 @@ pub fn types() -> MutMap { unique_function(vec![list_type(UVAR1, TVAR1)], int_type(UVAR2)), ); - // get : List a, Int -> Result a [ OutOfBounds ]* - let index_out_of_bounds = SolvedType::TagUnion( - vec![(TagName::Global("OutOfBounds".into()), vec![])], - Box::new(SolvedType::Wildcard), - ); - - add_type( - Symbol::LIST_GET, - unique_function( - vec![list_type(UVAR1, TVAR1), int_type(UVAR2)], - result_type(UVAR3, flex(TVAR1), lift(UVAR4, index_out_of_bounds)), - ), - ); - + // #getUnsafe : List elem, Int -> elem add_type( Symbol::LIST_GET_UNSAFE, unique_function(vec![list_type(UVAR1, TVAR1), int_type(UVAR2)], flex(TVAR1)),