mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-01 07:41:12 +00:00
Merge branch 'ci_ssl_fix' into cli-run-non-app
This commit is contained in:
commit
cbdf4c71ed
7 changed files with 43 additions and 19 deletions
|
@ -1,4 +1,4 @@
|
|||
FROM rust:1.49-slim-buster
|
||||
FROM rust:1.50-slim-buster
|
||||
WORKDIR /earthbuild
|
||||
|
||||
prep-debian:
|
||||
|
@ -40,7 +40,7 @@ install-zig-llvm-valgrind-clippy-rustfmt:
|
|||
# rustfmt
|
||||
RUN rustup component add rustfmt
|
||||
# sccache
|
||||
RUN apt install libssl-dev
|
||||
RUN apt -y install libssl-dev
|
||||
RUN cargo install sccache
|
||||
RUN sccache -V
|
||||
|
||||
|
|
|
@ -705,6 +705,7 @@ fn x86_64_generic_setup_stack<'a>(
|
|||
}
|
||||
|
||||
#[inline(always)]
|
||||
#[allow(clippy::unnecessary_wraps)]
|
||||
fn x86_64_generic_cleanup_stack<'a>(
|
||||
buf: &mut Vec<'a, u8>,
|
||||
saved_regs: &[X86_64GeneralReg],
|
||||
|
|
|
@ -3496,6 +3496,7 @@ fn unpack_exposes_entries<'a>(
|
|||
}
|
||||
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
#[allow(clippy::unnecessary_wraps)]
|
||||
fn canonicalize_and_constrain<'a, F>(
|
||||
arena: &'a Bump,
|
||||
module_ids: &ModuleIds,
|
||||
|
|
|
@ -229,7 +229,11 @@ fn flatten<'a>(
|
|||
tag_name,
|
||||
layout,
|
||||
} if union.alternatives.len() == 1
|
||||
&& !matches!(layout, Layout::Union(UnionLayout::NullableWrapped { .. })| Layout::Union(UnionLayout::NullableUnwrapped { .. })) =>
|
||||
&& !matches!(
|
||||
layout,
|
||||
Layout::Union(UnionLayout::NullableWrapped { .. })
|
||||
| Layout::Union(UnionLayout::NullableUnwrapped { .. })
|
||||
) =>
|
||||
{
|
||||
// TODO ^ do we need to check that guard.is_none() here?
|
||||
|
||||
|
|
|
@ -643,7 +643,10 @@ impl<'a> Layout<'a> {
|
|||
Union(variant) => {
|
||||
use UnionLayout::*;
|
||||
|
||||
matches!(variant, Recursive(_)| NullableWrapped { .. } | NullableUnwrapped { .. })
|
||||
matches!(
|
||||
variant,
|
||||
Recursive(_) | NullableWrapped { .. } | NullableUnwrapped { .. }
|
||||
)
|
||||
}
|
||||
|
||||
RecursivePointer => true,
|
||||
|
|
|
@ -1628,10 +1628,18 @@ fn to_diff<'b>(
|
|||
ErrorType::Alias(Symbol::NUM_INT, _, _) => true,
|
||||
|
||||
ErrorType::Type(Symbol::NUM_NUM, args) => {
|
||||
matches!( &args.get(0) ,Some(ErrorType::Type(Symbol::NUM_INTEGER, _)) | Some(ErrorType::Alias(Symbol::NUM_INTEGER, _, _)))
|
||||
matches!(
|
||||
&args.get(0),
|
||||
Some(ErrorType::Type(Symbol::NUM_INTEGER, _))
|
||||
| Some(ErrorType::Alias(Symbol::NUM_INTEGER, _, _))
|
||||
)
|
||||
}
|
||||
ErrorType::Alias(Symbol::NUM_NUM, args, _) => {
|
||||
matches!(&args.get(0), Some((_, ErrorType::Type(Symbol::NUM_INTEGER, _))) | Some((_, ErrorType::Alias(Symbol::NUM_INTEGER, _, _))))
|
||||
matches!(
|
||||
&args.get(0),
|
||||
Some((_, ErrorType::Type(Symbol::NUM_INTEGER, _)))
|
||||
| Some((_, ErrorType::Alias(Symbol::NUM_INTEGER, _, _)))
|
||||
)
|
||||
}
|
||||
_ => false,
|
||||
};
|
||||
|
@ -1640,11 +1648,19 @@ fn to_diff<'b>(
|
|||
ErrorType::Alias(Symbol::NUM_FLOAT, _, _) => true,
|
||||
|
||||
ErrorType::Type(Symbol::NUM_NUM, args) => {
|
||||
matches!(&args.get(0), Some(ErrorType::Type(Symbol::NUM_FLOATINGPOINT, _)) | Some(ErrorType::Alias(Symbol::NUM_FLOATINGPOINT, _, _)))
|
||||
matches!(
|
||||
&args.get(0),
|
||||
Some(ErrorType::Type(Symbol::NUM_FLOATINGPOINT, _))
|
||||
| Some(ErrorType::Alias(Symbol::NUM_FLOATINGPOINT, _, _))
|
||||
)
|
||||
}
|
||||
|
||||
ErrorType::Alias(Symbol::NUM_NUM, args, _) => {
|
||||
matches!(&args.get(0), Some((_, ErrorType::Type(Symbol::NUM_FLOATINGPOINT, _))) | Some((_, ErrorType::Alias(Symbol::NUM_FLOATINGPOINT, _, _))))
|
||||
matches!(
|
||||
&args.get(0),
|
||||
Some((_, ErrorType::Type(Symbol::NUM_FLOATINGPOINT, _)))
|
||||
| Some((_, ErrorType::Alias(Symbol::NUM_FLOATINGPOINT, _, _)))
|
||||
)
|
||||
}
|
||||
_ => false,
|
||||
};
|
||||
|
|
|
@ -648,10 +648,10 @@ impl Type {
|
|||
// attribute on the recursion variable must match the uniqueness of the whole tag
|
||||
// union. We enforce that here.
|
||||
|
||||
if let Some(rec_uvar) = find_rec_var_uniqueness(base_type, aliases) {
|
||||
if let Bool::Container(unbound_cvar, mvars1) = rec_uvar {
|
||||
if let Type::Boolean(Bool::Container(bound_cvar, mvars2)) = uniqueness_type
|
||||
if let Some(Bool::Container(unbound_cvar, mvars1)) =
|
||||
find_rec_var_uniqueness(base_type, aliases)
|
||||
{
|
||||
if let Type::Boolean(Bool::Container(bound_cvar, mvars2)) = uniqueness_type {
|
||||
debug_assert!(mvars1.is_empty());
|
||||
debug_assert!(mvars2.is_empty());
|
||||
|
||||
|
@ -661,7 +661,6 @@ impl Type {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Apply(symbol, args) => {
|
||||
if let Some(alias) = aliases.get(symbol) {
|
||||
if args.len() != alias.vars.len() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue