You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
copilot-core: Remove deprecated record field Copilot.Core.Type.uTypeType #615
The record field uTypeType, part of Copilot.Core.Type.UType, is never really used within the module or in any other part of Copilot or, as far as we know, by any user of Copilot.
The record field was deprecated in Copilot 4.1 and no messages have been received requesting that it be kept in this library.
As per our internal policy of waiting 3 versions from deprecation until a public interface declaration can be removed, this definition can now be removed.
The solution proposed produces the expected result. Details:
The following Dockerfile tries to import the deprecated record field, succeeding only when the import fails, after which prints the message "Success":
FROM ubuntu:focal
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get install --yes \
libz-dev \
git \
curl \
gcc \
g++ \
make \
libgmp3-dev \
pkg-config \
z3
RUN mkdir -p $HOME/.ghcup/bin
RUN curl https://downloads.haskell.org/~ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 -o $HOME/.ghcup/bin/ghcup
RUN chmod a+x $HOME/.ghcup/bin/ghcup
ENV PATH=$PATH:/root/.ghcup/bin/
ENV PATH=$PATH:/root/.cabal/bin/
SHELL ["/bin/bash", "-c"]
RUN ghcup install ghc 9.10.1
RUN ghcup install cabal 3.2
RUN ghcup set ghc 9.10.1
RUN cabal update
SHELL ["/bin/bash", "-c"]
CMD git clone $REPO && cd $NAME && git checkout $COMMIT && cd .. \
&& cabal v1-sandbox init \
&& cabal v1-install alex happy --constraint='happy <= 2' \
&& cabal v1-install $NAME/copilot**/ \
&& ! cabal v1-exec -- runhaskell <<< 'import Copilot.Core(uTypeType); main = return ()' \
&& echo "Success"
Command (substitute variables based on new path after merge):
$ docker run -e REPO=https://github.com/ivanperez-keera/copilot -e NAME=copilot -e COMMIT=3e0b13d8a1b4f9317759a11fc4a4c65056cb9033 copilot-verify-615
Implementation is documented. Details:
No updates needed; change removes definitions not mentioned in the documentation.
Change history is clear.
Commit messages are clear.
Changelogs are updated.
Examples are updated. Details:
No updates needed; change removes definitions not mentioned in the examples.
Author is internal or has provided signed CLA.
Required version bumps are evaluated. Details:
Bump required; change affects the API.
Activity
ivanperez-keera commentedon Apr 17, 2025
Change Manager: Confirmed that the issue exists.
ivanperez-keera commentedon Apr 17, 2025
Technical Lead: Confirmed that the issue should be addressed.
ivanperez-keera commentedon Apr 17, 2025
Technical Lead: Issue scheduled for fixing in Copilot 4.4.
Fix assigned to: @ivanperez-keera .
copilot-core: Remove deprecated Copilot.Core.Type.uTypeType. Refs Cop…
copilot-core: Document changes in CHANGELOG. Refs Copilot-Language#615.
ivanperez-keera commentedon Apr 23, 2025
Implementor: Solution implemented, review requested.
ivanperez-keera commentedon Apr 23, 2025
Change Manager: Verified that:
Build log: https://github.com/Copilot-Language/copilot/runs/40886486874
The following Dockerfile tries to import the deprecated record field, succeeding only when the import fails, after which prints the message "Success":
No updates needed; change removes definitions not mentioned in the documentation.
No updates needed; change removes definitions not mentioned in the examples.
Bump required; change affects the API.
ivanperez-keera commentedon Apr 23, 2025
Change Manager: Implementation ready to be merged.
Merge branch 'develop-remove-uTypeType'. Close Copilot-Language#615.